{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Plotting with folium\n",
    "\n",
    "__What is Folium?__\n",
    "\n",
    "It builds on the data wrangling and a Python wrapper for leaflet.js. It makes it easy to visualize data in Python with minimal instructions.\n",
    "\n",
    "Folium expands on the data wrangling properties utilized in Python language and the mapping characteristics of the Leaflet.js library. Folium enables us to make an intuitive map and are is visualized in a Leaflet map after manipulating data in Python. Folium results are intuitive which makes this library helpful for dashboard building and easier to work with.\n",
    "\n",
    "Let's see the implementation of both GeoPandas and Folium:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Importing Libraries\n",
    "import pandas as pd\n",
    "import geopandas\n",
    "import folium\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "from shapely.geometry import Point"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "RangeIndex: 63 entries, 0 to 62\n",
      "Data columns (total 6 columns):\n",
      "Year         63 non-null int64\n",
      "Name         63 non-null object\n",
      "Country      63 non-null object\n",
      "Latitude     63 non-null float64\n",
      "Longitude    63 non-null float64\n",
      "Type         63 non-null object\n",
      "dtypes: float64(2), int64(1), object(3)\n",
      "memory usage: 3.0+ KB\n"
     ]
    }
   ],
   "source": [
    "df1 = pd.read_csv('volcano_data_2010.csv')\n",
    "df = df1.loc[:, (\"Year\", \"Name\", \"Country\", \"Latitude\", \"Longitude\", \"Type\")]\n",
    "df.info()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Year</th>\n",
       "      <th>Name</th>\n",
       "      <th>Country</th>\n",
       "      <th>Latitude</th>\n",
       "      <th>Longitude</th>\n",
       "      <th>Type</th>\n",
       "      <th>geometry</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>2010</td>\n",
       "      <td>Tungurahua</td>\n",
       "      <td>Ecuador</td>\n",
       "      <td>-1.467</td>\n",
       "      <td>-78.442</td>\n",
       "      <td>Stratovolcano</td>\n",
       "      <td>POINT (-78.44199999999999 -1.467)</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2010</td>\n",
       "      <td>Eyjafjallajokull</td>\n",
       "      <td>Iceland</td>\n",
       "      <td>63.630</td>\n",
       "      <td>-19.620</td>\n",
       "      <td>Stratovolcano</td>\n",
       "      <td>POINT (-19.62 63.63)</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2010</td>\n",
       "      <td>Pacaya</td>\n",
       "      <td>Guatemala</td>\n",
       "      <td>14.381</td>\n",
       "      <td>-90.601</td>\n",
       "      <td>Complex volcano</td>\n",
       "      <td>POINT (-90.601 14.381)</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>2010</td>\n",
       "      <td>Sarigan</td>\n",
       "      <td>United States</td>\n",
       "      <td>16.708</td>\n",
       "      <td>145.780</td>\n",
       "      <td>Stratovolcano</td>\n",
       "      <td>POINT (145.78 16.708)</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>2010</td>\n",
       "      <td>Karangetang [Api Siau]</td>\n",
       "      <td>Indonesia</td>\n",
       "      <td>2.780</td>\n",
       "      <td>125.480</td>\n",
       "      <td>Stratovolcano</td>\n",
       "      <td>POINT (125.48 2.78)</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   Year                    Name        Country  Latitude  Longitude  \\\n",
       "0  2010              Tungurahua        Ecuador    -1.467    -78.442   \n",
       "1  2010        Eyjafjallajokull        Iceland    63.630    -19.620   \n",
       "2  2010                  Pacaya      Guatemala    14.381    -90.601   \n",
       "3  2010                 Sarigan  United States    16.708    145.780   \n",
       "4  2010  Karangetang [Api Siau]      Indonesia     2.780    125.480   \n",
       "\n",
       "              Type                           geometry  \n",
       "0    Stratovolcano  POINT (-78.44199999999999 -1.467)  \n",
       "1    Stratovolcano               POINT (-19.62 63.63)  \n",
       "2  Complex volcano             POINT (-90.601 14.381)  \n",
       "3    Stratovolcano              POINT (145.78 16.708)  \n",
       "4    Stratovolcano                POINT (125.48 2.78)  "
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "geometry = geopandas.points_from_xy(df.Longitude, df.Latitude)\n",
    "geo_df = geopandas.GeoDataFrame(df[['Year','Name','Country', 'Latitude', 'Longitude', 'Type']], geometry=geometry)\n",
    "\n",
    "geo_df.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array(['Stratovolcano', 'Complex volcano', 'Shield volcano',\n",
       "       'Subglacial volcano', 'Lava dome', 'Caldera'], dtype=object)"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "world = geopandas.read_file(geopandas.datasets.get_path('naturalearth_lowres'))\n",
    "df.Type.unique()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Text(0.5, 1.0, 'Volcanoes')"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAABWkAAAK1CAYAAAC6tmwFAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvnQurowAAIABJREFUeJzs3Xl8XHW9P/7XZ/Y922Rt0qQt3SgpS4twWdpQpCBipfeLFFHWB3ALFqh8L+JFvfb6VUQEL5tCEbTorwqIoparF+HSykWqNkVosYW2aZM0S5PMJJl9n8/vj/QcZ5JJMlkny+v5eJzHTE7ONpNkcs77vD/vt5BSgoiIiIiIiIiIiIhyQ5PrAyAiIiIiIiIiIiKazRikJSIiIiIiIiIiIsohBmmJiIiIiIiIiIiIcohBWiIiIiIiIiIiIqIcYpCWiIiIiIiIiIiIKIcYpCUiIiIiIiIiIiLKIQZpiYiIiGjaEULcKIR4O9fHQUREREQ0HhikJSIiIqKcEEK8JoT4Rob5nxZCnBBC6HJxXEREREREk41BWiIiIiLKlW0ArhNCiH7zrwOwXUoZn/xDIiIiIiKafAzSEhEREVGu/BpAIYALlRlCiAIAVwD4iRAiTwjxEyFElxCiSQjxVSFExvNXIcQyIcTrQohuIUSHEOL+k/M/JoTYLYToFUK0CyGeFEIYUtaTQoiNQojDQogeIcT3laCxEEJzcp9NQojOk8eSl7LuuUKId05u+30hRF3K924UQhwVQviEEMeEEJ8b5/eOiIiIiGYQBmmJiIiIKCeklCEALwG4PmX21QA+lFK+D+AJAHkA5gNYfXK5m/pvRwhhB/AGgP8GUAHgFAD/c/LbCQBfBOAE8E8ALgZwR79NXAHgbACnn9z/pSfn33hyuujkMdgAPHlyn3MA/BeAb6Iv0PyvAH4phCgWQlgBPA7gE1JKO4DzALw3greGiIiIiGYZBmmJiIiIKJeeB/AZIYT55NfXA3heCKEFsAHAv0kpfVLKRgCPoK8UQn9XADghpXxEShk+ufxfAEBKuVdK+WcpZfzkNraiL+Cb6kEpZa+UshnATgBnnJz/OQDfk1IelVL6AfwbgGtO1sr9PIDfSSl/J6VMSilfB1AP4PKT6yYBnCaEMEsp26WUfx/b20REREREMxmDtERERESUM1LKtwF0Afi0EGI++jJaf4a+zFcDgKaUxZsAzMmwmSoADZm2L4RYJIR49WQjMi+AB05uO9WJlOdB9GXMAn1Zuf33rwNQCqAafcHlXmUCcAGAcillAH0B5o0A2oUQ/yWEWDLU+0BEREREsxuDtERERESUaz9BXwbtdQD+IKXsAOACEENfMFQxF0BrhvWPA1gwyLafAvAhgIVSSgeA+wH0b1Q2mLYM+48D6Di5z59KKfNTJquU8kEAkFK+JqW8BED5yf3/MMt9EhEREdEsxCAtEREREeXaTwB8HMCt6Ct/ACllAn31ar8lhLALIaoB3APg/8uw/qsAyoQQm4UQxpPLn3Pye3YAXgD+k9mst4/guH4O4ItCiHlCCBv6snBflFLGTx7Hp4QQlwohtEIIkxCiTghRKYQoFUKsO1mbNgLAj77auEREREREGTFIS0REREQ5dbJW7DsArAB+m/KtOwEEABwF8Db6yiD8KMP6PgCXAPgU+koXHEZfsy+gr6HXtQB86MtmfXEEh/YjAD8F8BaAYwDCJ48JUsrjAD6NvszcLvRl1t6LvvNrDYD/i75M3G701cDt36yMiIiIiEglpJS5PgYiIiIiIiIiIiKiWYuZtEREREREREREREQ5xCAtERERERERERERUQ4xSEtERERERERERESUQwzSEhEREREREREREeUQg7REREREREREREREOaTL9QGkcjqdsqamJteHQURERERERERERDRme/fudUkpi4dbbkoFaWtqalBfX5/rwyAiIiIiIiIiIiIaMyFEUzbLsdwBERERERERERERUQ4xSEtERERERERERESUQwzSEhEREREREREREeXQlKpJS0RERERERERENN3EYjG0tLQgHA7n+lAoR0wmEyorK6HX60e1PoO0REREREREREREY9DS0gK73Y6amhoIIXJ9ODTJpJRwu91oaWnBvHnzRrUNljsgIiIiIiIiIiIag3A4jKKiIgZoZykhBIqKisaUSc1MWiIiIiIiIiIiojEaSYDWG47h9/vb0emNoMRhxCdqy+EwjW6YPE0NYw3QM0hLREREREREREQ0SZ588zB+sKsBwWhCnfcfOw7gjroF2LRm4Zi2feLECWzevBl79uyB0WhETU0NHn30USxatCjj8jabDX6/f8D8G2+8EVdccQWuuuqqMR0PZY/lDoiIiIiIiIiIiCbBk28exsN/OJQWoAWAYDSBh/9wCE++eXjU25ZSYv369airq0NDQwMOHDiABx54AB0dHWM97GHF4/EJ38dMxyAtERERERERERHRBPOGY/jBroYhl/nBrgb4wrFRbX/nzp3Q6/XYuHGjOu+MM87AmWeeiYsvvhhnnXUWamtr8Zvf/GbAulJKbNq0Caeeeio++clPorOzU/3e3r17sXr1aqxYsQKXXnop2tvbAQB1dXW4//77sXr1ajz22GPYsWMHzjnnHJx55pn4+Mc/PinB4ZmE5Q6IiIiIiIiIiIgm2O/3tw/IoO0vGE3g9/tP4Oqzq0a8/Q8++AArVqwYMN9kMuGVV16Bw+GAy+XCueeei3Xr1qXVUH3llVfw0UcfYf/+/ejo6MCpp56Km2++GbFYDHfeeSd+85vfoLi4GC+++CK+8pWv4Ec/+hEAoLe3F3/84x8BAD09Pfjzn/8MIQSeffZZPPTQQ3jkkUdG/DpmKwZpiYiIiIiIiIiIJlinN5Ldcr7wuO5XSon7778fb731FjQaDVpbW9HR0YGysjJ1mbfeeguf/exnodVqUVFRgTVr1gAAPvroI3zwwQe45JJLAACJRALl5eXqehs2bFCft7S0YMOGDWhvb0c0GsW8efPG9XXMdAzSEhERERERERERTbAShzG75eymUW1/2bJlePnllwfM3759O7q6urB3717o9XrU1NQgHB4YCE7NrFVIKbFs2TLs3r074z6tVqv6/M4778Q999yDdevWYdeuXdiyZcuoXsdsxZq0REREREREREREE+wTteWwGLRDLmMxaPGJ2rIhlxnMmjVrEIlE8MMf/lCdt2fPHjQ1NaGkpAR6vR47d+5EU1PTgHVXrVqFF154AYlEAu3t7di5cycAYPHixejq6lKDtLFYDH//+98z7t/j8WDOnDkAgOeff35Ur2E2Y5CWiIiIiIiIiIhogjlMetxRt2DIZe6oWwC7ST+q7Qsh8Morr+D111/HggULsGzZMmzZsgWXX3456uvrsXLlSmzfvh1LliwZsO769euxcOFC1NbW4vbbb8fq1asBAAaDAS+//DLuu+8+nH766TjjjDPwzjvvZNz/li1b8JnPfAYXXnghnE7nqF7DbCaklLk+BtXKlStlfX19rg+DiIiIiIiIiIgoawcPHsTSpUuzWvbJNw/jB7sa0pqIWQxa3FG3AJvWLJyoQ6RJkOn3QAixV0q5crh1WZOWiIiIiIiIiIhokmxasxA3nFeD3+8/gU5fGCV2Ez5RWzbqDFqaGRikJSIiIiIiIiIimkR2kx5Xn12V68OgKYQ1aYmIiIiIiIiIiIhyiEFaIiIiIiIiIiIiohxikJaIiIiIiIiIiIgoh1iTloiIiIiIiIiIaBL5oj683vQ6uoJdKLYU45LqS2A32HN9WJRDzKQlIiIiIiIiIiKaJM/sewYX/+JifP2dr+PJ957E19/5Oi7+xcV4Zt8zY9ruiRMncM0112DBggU49dRTcfnll+PQoUPjdNQD7dq1C1dcccWEbX8w27Ztw6ZNmyZ9vxONmbREREREREREREST4Jl9z+CJvz0xYH4oHlLn37b8thFvV0qJ9evX44YbbsALL7wAAHjvvffQ0dGBRYsWje2gaVIwk5aIiIiIiIiIiGiC+aI+PLv/2SGXeXb/s/BH/SPe9s6dO6HX67Fx40Z13hlnnIELL7wQUkrce++9OO2001BbW4sXX3wRQF8m7OrVq3H11Vdj0aJF+PKXv4zt27fjYx/7GGpra9HQ0AAAuPHGG7Fx40ZceOGFWLRoEV599dUB+w8EArj55ptx9tln48wzz8RvfvMbAMD3vvc93HzzzQCA/fv347TTTkMwGExb95xzzsHf//539eu6ujrs3bsX3d3duPLKK7F8+XKce+652Ldv34D9dnR0YP369Tj99NNx+umn45133gEAXHnllVixYgWWLVuGZ575R4ayzWbDV77yFZx++uk499xz0dHRAQBoamrCxRdfjOXLl+Piiy9Gc3PziH8GY8UgLRERERERERER0QR7vel1hOKhIZcJxUN4ven1EW/7gw8+wIoVKzJ+71e/+hXee+89vP/++3jjjTdw7733or29HQDw/vvv47HHHsP+/fvx05/+FIcOHcJf//pX3HLLLXjiiX9k/DY2NuKPf/wj/uu//gsbN25EOBxO28e3vvUtrFmzBnv27MHOnTtx7733IhAIYPPmzThy5AheeeUV3HTTTdi6dSssFkvautdccw1eeuklAEB7ezva2tqwYsUKfP3rX8eZZ56Jffv24YEHHsD1118/4LXdddddWL16Nd5//328++67WLZsGQDgRz/6Efbu3Yv6+no8/vjjcLvdAPqCyeeeey7ef/99rFq1Cj/84Q8BAJs2bcL111+Pffv24XOf+xzuuuuu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\n",
      "text/plain": [
       "<Figure size 1728x1296 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig, ax = plt.subplots(figsize=(24,18))\n",
    "world.plot(ax=ax, alpha=0.4, color='grey')\n",
    "geo_df.plot(column='Type', ax=ax, legend=True)\n",
    "plt.title('Volcanoes')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We will be using different icons to differentiate the types of Volcanoes using Folium.\n",
    "But before we start, we can see a few different tiles to choose from folium."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div style=\"width:100%;\"><div style=\"position:relative;width:100%;height:0;padding-bottom:60%;\"><iframe src=\"data:text/html;charset=utf-8;base64,PCFET0NUWVBFIGh0bWw+CjxoZWFkPiAgICAKICAgIDxtZXRhIGh0dHAtZXF1aXY9ImNvbnRlbnQtdHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04IiAvPgogICAgCiAgICAgICAgPHNjcmlwdD4KICAgICAgICAgICAgTF9OT19UT1VDSCA9IGZhbHNlOwogICAgICAgICAgICBMX0RJU0FCTEVfM0QgPSBmYWxzZTsKICAgICAgICA8L3NjcmlwdD4KICAgIAogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vbGVhZmxldEAxLjQuMC9kaXN0L2xlYWZsZXQuanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY29kZS5qcXVlcnkuY29tL2pxdWVyeS0xLjEyLjQubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2Jvb3RzdHJhcC8zLjIuMC9qcy9ib290c3RyYXAubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9MZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy8yLjAuMi9sZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy5qcyI+PC9zY3JpcHQ+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vbGVhZmxldEAxLjQuMC9kaXN0L2xlYWZsZXQuY3NzIi8+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vbWF4Y2RuLmJvb3RzdHJhcGNkbi5jb20vYm9vdHN0cmFwLzMuMi4wL2Nzcy9ib290c3RyYXAubWluLmNzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2Jvb3RzdHJhcC8zLjIuMC9jc3MvYm9vdHN0cmFwLXRoZW1lLm1pbi5jc3MiLz4KICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9tYXhjZG4uYm9vdHN0cmFwY2RuLmNvbS9mb250LWF3ZXNvbWUvNC42LjMvY3NzL2ZvbnQtYXdlc29tZS5taW4uY3NzIi8+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL0xlYWZsZXQuYXdlc29tZS1tYXJrZXJzLzIuMC4yL2xlYWZsZXQuYXdlc29tZS1tYXJrZXJzLmNzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL3Jhd2Nkbi5naXRoYWNrLmNvbS9weXRob24tdmlzdWFsaXphdGlvbi9mb2xpdW0vbWFzdGVyL2ZvbGl1bS90ZW1wbGF0ZXMvbGVhZmxldC5hd2Vzb21lLnJvdGF0ZS5jc3MiLz4KICAgIDxzdHlsZT5odG1sLCBib2R5IHt3aWR0aDogMTAwJTtoZWlnaHQ6IDEwMCU7bWFyZ2luOiAwO3BhZGRpbmc6IDA7fTwvc3R5bGU+CiAgICA8c3R5bGU+I21hcCB7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7cmlnaHQ6MDtsZWZ0OjA7fTwvc3R5bGU+CiAgICAKICAgICAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwKICAgICAgICAgICAgICAgIGluaXRpYWwtc2NhbGU9MS4wLCBtYXhpbXVtLXNjYWxlPTEuMCwgdXNlci1zY2FsYWJsZT1ubyIgLz4KICAgICAgICAgICAgPHN0eWxlPgogICAgICAgICAgICAgICAgI21hcF8yMDY2ZjM4NjM0M2I0YzNiOTUzNGUzODg0ZmM5ZDY0YSB7CiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAuMCU7CiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAuMCU7CiAgICAgICAgICAgICAgICAgICAgbGVmdDogMC4wJTsKICAgICAgICAgICAgICAgICAgICB0b3A6IDAuMCU7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIDwvc3R5bGU+CiAgICAgICAgCjwvaGVhZD4KPGJvZHk+ICAgIAogICAgCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvbGl1bS1tYXAiIGlkPSJtYXBfMjA2NmYzODYzNDNiNGMzYjk1MzRlMzg4NGZjOWQ2NGEiID48L2Rpdj4KICAgICAgICAKPC9ib2R5Pgo8c2NyaXB0PiAgICAKICAgIAogICAgICAgICAgICB2YXIgbWFwXzIwNjZmMzg2MzQzYjRjM2I5NTM0ZTM4ODRmYzlkNjRhID0gTC5tYXAoCiAgICAgICAgICAgICAgICAibWFwXzIwNjZmMzg2MzQzYjRjM2I5NTM0ZTM4ODRmYzlkNjRhIiwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBjZW50ZXI6IFsxMy40MDYsIDgwLjExXSwKICAgICAgICAgICAgICAgICAgICBjcnM6IEwuQ1JTLkVQU0czODU3LAogICAgICAgICAgICAgICAgICAgIHpvb206IDksCiAgICAgICAgICAgICAgICAgICAgem9vbUNvbnRyb2w6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgcHJlZmVyQ2FudmFzOiBmYWxzZSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKTsKCiAgICAgICAgICAgIAoKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgdGlsZV9sYXllcl9hZjBmYzY2NGRjNGI0ZWQwYWRmMGNiNjYwMDg3ZTljNCA9IEwudGlsZUxheWVyKAogICAgICAgICAgICAgICAgImh0dHBzOi8vc3RhbWVuLXRpbGVzLXtzfS5hLnNzbC5mYXN0bHkubmV0L3RlcnJhaW4ve3p9L3t4fS97eX0uanBnIiwKICAgICAgICAgICAgICAgIHsiYXR0cmlidXRpb24iOiAiTWFwIHRpbGVzIGJ5IFx1MDAzY2EgaHJlZj1cImh0dHA6Ly9zdGFtZW4uY29tXCJcdTAwM2VTdGFtZW4gRGVzaWduXHUwMDNjL2FcdTAwM2UsIHVuZGVyIFx1MDAzY2EgaHJlZj1cImh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL2xpY2Vuc2VzL2J5LzMuMFwiXHUwMDNlQ0MgQlkgMy4wXHUwMDNjL2FcdTAwM2UuIERhdGEgYnkgXHUwMDI2Y29weTsgXHUwMDNjYSBocmVmPVwiaHR0cDovL29wZW5zdHJlZXRtYXAub3JnXCJcdTAwM2VPcGVuU3RyZWV0TWFwXHUwMDNjL2FcdTAwM2UsIHVuZGVyIFx1MDAzY2EgaHJlZj1cImh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL2xpY2Vuc2VzL2J5LXNhLzMuMFwiXHUwMDNlQ0MgQlkgU0FcdTAwM2MvYVx1MDAzZS4iLCAiZGV0ZWN0UmV0aW5hIjogZmFsc2UsICJtYXhOYXRpdmVab29tIjogMTgsICJtYXhab29tIjogMTgsICJtaW5ab29tIjogMCwgIm5vV3JhcCI6IGZhbHNlLCAib3BhY2l0eSI6IDEsICJzdWJkb21haW5zIjogImFiYyIsICJ0bXMiOiBmYWxzZX0KICAgICAgICAgICAgKS5hZGRUbyhtYXBfMjA2NmYzODYzNDNiNGMzYjk1MzRlMzg4NGZjOWQ2NGEpOwogICAgICAgIAo8L3NjcmlwdD4=\" style=\"position:absolute;width:100%;height:100%;left:0;top:0;border:none !important;\" allowfullscreen webkitallowfullscreen mozallowfullscreen></iframe></div></div>"
      ],
      "text/plain": [
       "<folium.folium.Map at 0x7f252e02e6d8>"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Stamen Terrain\n",
    "map = folium.Map(location = [13.406,80.110], tiles = \"Stamen Terrain\", zoom_start = 9)\n",
    "map"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div style=\"width:100%;\"><div style=\"position:relative;width:100%;height:0;padding-bottom:60%;\"><iframe src=\"data:text/html;charset=utf-8;base64,PCFET0NUWVBFIGh0bWw+CjxoZWFkPiAgICAKICAgIDxtZXRhIGh0dHAtZXF1aXY9ImNvbnRlbnQtdHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04IiAvPgogICAgCiAgICAgICAgPHNjcmlwdD4KICAgICAgICAgICAgTF9OT19UT1VDSCA9IGZhbHNlOwogICAgICAgICAgICBMX0RJU0FCTEVfM0QgPSBmYWxzZTsKICAgICAgICA8L3NjcmlwdD4KICAgIAogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vbGVhZmxldEAxLjQuMC9kaXN0L2xlYWZsZXQuanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY29kZS5qcXVlcnkuY29tL2pxdWVyeS0xLjEyLjQubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2Jvb3RzdHJhcC8zLjIuMC9qcy9ib290c3RyYXAubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9MZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy8yLjAuMi9sZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy5qcyI+PC9zY3JpcHQ+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vbGVhZmxldEAxLjQuMC9kaXN0L2xlYWZsZXQuY3NzIi8+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vbWF4Y2RuLmJvb3RzdHJhcGNkbi5jb20vYm9vdHN0cmFwLzMuMi4wL2Nzcy9ib290c3RyYXAubWluLmNzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2Jvb3RzdHJhcC8zLjIuMC9jc3MvYm9vdHN0cmFwLXRoZW1lLm1pbi5jc3MiLz4KICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9tYXhjZG4uYm9vdHN0cmFwY2RuLmNvbS9mb250LWF3ZXNvbWUvNC42LjMvY3NzL2ZvbnQtYXdlc29tZS5taW4uY3NzIi8+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL0xlYWZsZXQuYXdlc29tZS1tYXJrZXJzLzIuMC4yL2xlYWZsZXQuYXdlc29tZS1tYXJrZXJzLmNzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL3Jhd2Nkbi5naXRoYWNrLmNvbS9weXRob24tdmlzdWFsaXphdGlvbi9mb2xpdW0vbWFzdGVyL2ZvbGl1bS90ZW1wbGF0ZXMvbGVhZmxldC5hd2Vzb21lLnJvdGF0ZS5jc3MiLz4KICAgIDxzdHlsZT5odG1sLCBib2R5IHt3aWR0aDogMTAwJTtoZWlnaHQ6IDEwMCU7bWFyZ2luOiAwO3BhZGRpbmc6IDA7fTwvc3R5bGU+CiAgICA8c3R5bGU+I21hcCB7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7cmlnaHQ6MDtsZWZ0OjA7fTwvc3R5bGU+CiAgICAKICAgICAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwKICAgICAgICAgICAgICAgIGluaXRpYWwtc2NhbGU9MS4wLCBtYXhpbXVtLXNjYWxlPTEuMCwgdXNlci1zY2FsYWJsZT1ubyIgLz4KICAgICAgICAgICAgPHN0eWxlPgogICAgICAgICAgICAgICAgI21hcF85Y2IzZWU0OGQ0NTI0MTk2ODYxYWU3NmFhYmE0YzNhMSB7CiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAuMCU7CiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAuMCU7CiAgICAgICAgICAgICAgICAgICAgbGVmdDogMC4wJTsKICAgICAgICAgICAgICAgICAgICB0b3A6IDAuMCU7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIDwvc3R5bGU+CiAgICAgICAgCjwvaGVhZD4KPGJvZHk+ICAgIAogICAgCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvbGl1bS1tYXAiIGlkPSJtYXBfOWNiM2VlNDhkNDUyNDE5Njg2MWFlNzZhYWJhNGMzYTEiID48L2Rpdj4KICAgICAgICAKPC9ib2R5Pgo8c2NyaXB0PiAgICAKICAgIAogICAgICAgICAgICB2YXIgbWFwXzljYjNlZTQ4ZDQ1MjQxOTY4NjFhZTc2YWFiYTRjM2ExID0gTC5tYXAoCiAgICAgICAgICAgICAgICAibWFwXzljYjNlZTQ4ZDQ1MjQxOTY4NjFhZTc2YWFiYTRjM2ExIiwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBjZW50ZXI6IFsxMy40MDYsIDgwLjExXSwKICAgICAgICAgICAgICAgICAgICBjcnM6IEwuQ1JTLkVQU0czODU3LAogICAgICAgICAgICAgICAgICAgIHpvb206IDksCiAgICAgICAgICAgICAgICAgICAgem9vbUNvbnRyb2w6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgcHJlZmVyQ2FudmFzOiBmYWxzZSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKTsKCiAgICAgICAgICAgIAoKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgdGlsZV9sYXllcl8xMjVlMzU3OTY3MmY0ZDg0YTYwMzFlMmNjYWNjNjBiMSA9IEwudGlsZUxheWVyKAogICAgICAgICAgICAgICAgImh0dHBzOi8ve3N9LnRpbGUub3BlbnN0cmVldG1hcC5vcmcve3p9L3t4fS97eX0ucG5nIiwKICAgICAgICAgICAgICAgIHsiYXR0cmlidXRpb24iOiAiRGF0YSBieSBcdTAwMjZjb3B5OyBcdTAwM2NhIGhyZWY9XCJodHRwOi8vb3BlbnN0cmVldG1hcC5vcmdcIlx1MDAzZU9wZW5TdHJlZXRNYXBcdTAwM2MvYVx1MDAzZSwgdW5kZXIgXHUwMDNjYSBocmVmPVwiaHR0cDovL3d3dy5vcGVuc3RyZWV0bWFwLm9yZy9jb3B5cmlnaHRcIlx1MDAzZU9EYkxcdTAwM2MvYVx1MDAzZS4iLCAiZGV0ZWN0UmV0aW5hIjogZmFsc2UsICJtYXhOYXRpdmVab29tIjogMTgsICJtYXhab29tIjogMTgsICJtaW5ab29tIjogMCwgIm5vV3JhcCI6IGZhbHNlLCAib3BhY2l0eSI6IDEsICJzdWJkb21haW5zIjogImFiYyIsICJ0bXMiOiBmYWxzZX0KICAgICAgICAgICAgKS5hZGRUbyhtYXBfOWNiM2VlNDhkNDUyNDE5Njg2MWFlNzZhYWJhNGMzYTEpOwogICAgICAgIAo8L3NjcmlwdD4=\" style=\"position:absolute;width:100%;height:100%;left:0;top:0;border:none !important;\" allowfullscreen webkitallowfullscreen mozallowfullscreen></iframe></div></div>"
      ],
      "text/plain": [
       "<folium.folium.Map at 0x7f252e03cc50>"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# OpenStreetMap\n",
    "map = folium.Map(location = [13.406,80.110], tiles='OpenStreetMap' , zoom_start = 9)\n",
    "map"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div style=\"width:100%;\"><div style=\"position:relative;width:100%;height:0;padding-bottom:60%;\"><iframe src=\"data:text/html;charset=utf-8;base64,PCFET0NUWVBFIGh0bWw+CjxoZWFkPiAgICAKICAgIDxtZXRhIGh0dHAtZXF1aXY9ImNvbnRlbnQtdHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04IiAvPgogICAgCiAgICAgICAgPHNjcmlwdD4KICAgICAgICAgICAgTF9OT19UT1VDSCA9IGZhbHNlOwogICAgICAgICAgICBMX0RJU0FCTEVfM0QgPSBmYWxzZTsKICAgICAgICA8L3NjcmlwdD4KICAgIAogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vbGVhZmxldEAxLjQuMC9kaXN0L2xlYWZsZXQuanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY29kZS5qcXVlcnkuY29tL2pxdWVyeS0xLjEyLjQubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2Jvb3RzdHJhcC8zLjIuMC9qcy9ib290c3RyYXAubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9MZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy8yLjAuMi9sZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy5qcyI+PC9zY3JpcHQ+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vbGVhZmxldEAxLjQuMC9kaXN0L2xlYWZsZXQuY3NzIi8+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vbWF4Y2RuLmJvb3RzdHJhcGNkbi5jb20vYm9vdHN0cmFwLzMuMi4wL2Nzcy9ib290c3RyYXAubWluLmNzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2Jvb3RzdHJhcC8zLjIuMC9jc3MvYm9vdHN0cmFwLXRoZW1lLm1pbi5jc3MiLz4KICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9tYXhjZG4uYm9vdHN0cmFwY2RuLmNvbS9mb250LWF3ZXNvbWUvNC42LjMvY3NzL2ZvbnQtYXdlc29tZS5taW4uY3NzIi8+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL0xlYWZsZXQuYXdlc29tZS1tYXJrZXJzLzIuMC4yL2xlYWZsZXQuYXdlc29tZS1tYXJrZXJzLmNzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL3Jhd2Nkbi5naXRoYWNrLmNvbS9weXRob24tdmlzdWFsaXphdGlvbi9mb2xpdW0vbWFzdGVyL2ZvbGl1bS90ZW1wbGF0ZXMvbGVhZmxldC5hd2Vzb21lLnJvdGF0ZS5jc3MiLz4KICAgIDxzdHlsZT5odG1sLCBib2R5IHt3aWR0aDogMTAwJTtoZWlnaHQ6IDEwMCU7bWFyZ2luOiAwO3BhZGRpbmc6IDA7fTwvc3R5bGU+CiAgICA8c3R5bGU+I21hcCB7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7cmlnaHQ6MDtsZWZ0OjA7fTwvc3R5bGU+CiAgICAKICAgICAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwKICAgICAgICAgICAgICAgIGluaXRpYWwtc2NhbGU9MS4wLCBtYXhpbXVtLXNjYWxlPTEuMCwgdXNlci1zY2FsYWJsZT1ubyIgLz4KICAgICAgICAgICAgPHN0eWxlPgogICAgICAgICAgICAgICAgI21hcF9hZjNmNTRhOGM1OWY0NTAyOWNiYmE1MjI2NGFlNjEzMiB7CiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAuMCU7CiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAuMCU7CiAgICAgICAgICAgICAgICAgICAgbGVmdDogMC4wJTsKICAgICAgICAgICAgICAgICAgICB0b3A6IDAuMCU7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIDwvc3R5bGU+CiAgICAgICAgCjwvaGVhZD4KPGJvZHk+ICAgIAogICAgCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvbGl1bS1tYXAiIGlkPSJtYXBfYWYzZjU0YThjNTlmNDUwMjljYmJhNTIyNjRhZTYxMzIiID48L2Rpdj4KICAgICAgICAKPC9ib2R5Pgo8c2NyaXB0PiAgICAKICAgIAogICAgICAgICAgICB2YXIgbWFwX2FmM2Y1NGE4YzU5ZjQ1MDI5Y2JiYTUyMjY0YWU2MTMyID0gTC5tYXAoCiAgICAgICAgICAgICAgICAibWFwX2FmM2Y1NGE4YzU5ZjQ1MDI5Y2JiYTUyMjY0YWU2MTMyIiwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBjZW50ZXI6IFsxMy40MDYsIDgwLjExXSwKICAgICAgICAgICAgICAgICAgICBjcnM6IEwuQ1JTLkVQU0czODU3LAogICAgICAgICAgICAgICAgICAgIHpvb206IDksCiAgICAgICAgICAgICAgICAgICAgem9vbUNvbnRyb2w6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgcHJlZmVyQ2FudmFzOiBmYWxzZSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKTsKCiAgICAgICAgICAgIAoKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgdGlsZV9sYXllcl9lMmEyOWE4NTE5Y2Y0MGYzYjNhY2Y5OTRiNjE0NjIzZiA9IEwudGlsZUxheWVyKAogICAgICAgICAgICAgICAgImh0dHBzOi8vc3RhbWVuLXRpbGVzLXtzfS5hLnNzbC5mYXN0bHkubmV0L3RvbmVyL3t6fS97eH0ve3l9LnBuZyIsCiAgICAgICAgICAgICAgICB7ImF0dHJpYnV0aW9uIjogIk1hcCB0aWxlcyBieSBcdTAwM2NhIGhyZWY9XCJodHRwOi8vc3RhbWVuLmNvbVwiXHUwMDNlU3RhbWVuIERlc2lnblx1MDAzYy9hXHUwMDNlLCB1bmRlciBcdTAwM2NhIGhyZWY9XCJodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9saWNlbnNlcy9ieS8zLjBcIlx1MDAzZUNDIEJZIDMuMFx1MDAzYy9hXHUwMDNlLiBEYXRhIGJ5IFx1MDAyNmNvcHk7IFx1MDAzY2EgaHJlZj1cImh0dHA6Ly9vcGVuc3RyZWV0bWFwLm9yZ1wiXHUwMDNlT3BlblN0cmVldE1hcFx1MDAzYy9hXHUwMDNlLCB1bmRlciBcdTAwM2NhIGhyZWY9XCJodHRwOi8vd3d3Lm9wZW5zdHJlZXRtYXAub3JnL2NvcHlyaWdodFwiXHUwMDNlT0RiTFx1MDAzYy9hXHUwMDNlLiIsICJkZXRlY3RSZXRpbmEiOiBmYWxzZSwgIm1heE5hdGl2ZVpvb20iOiAxOCwgIm1heFpvb20iOiAxOCwgIm1pblpvb20iOiAwLCAibm9XcmFwIjogZmFsc2UsICJvcGFjaXR5IjogMSwgInN1YmRvbWFpbnMiOiAiYWJjIiwgInRtcyI6IGZhbHNlfQogICAgICAgICAgICApLmFkZFRvKG1hcF9hZjNmNTRhOGM1OWY0NTAyOWNiYmE1MjI2NGFlNjEzMik7CiAgICAgICAgCjwvc2NyaXB0Pg==\" style=\"position:absolute;width:100%;height:100%;left:0;top:0;border:none !important;\" allowfullscreen webkitallowfullscreen mozallowfullscreen></iframe></div></div>"
      ],
      "text/plain": [
       "<folium.folium.Map at 0x7f252e11a3c8>"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Stamen Toner\n",
    "map = folium.Map(location = [13.406,80.110], tiles='Stamen Toner', zoom_start = 9)\n",
    "map"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We can use other tiles for the visualization, these are just a few examples.\n",
    "\n",
    "### Markers\n",
    "Now, let's look at different volcanoes on the map using different Markers to represent the volcanoes."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [],
   "source": [
    "#use terrain map layer to actually see volcano terrain\n",
    "map = folium.Map(location = [4,10], tiles = \"Stamen Terrain\", zoom_start = 3)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [],
   "source": [
    "# insert multiple markers, iterate through list\n",
    "# add a different color marker associated with type of volcano\n",
    "\n",
    "geo_df_list = [[point.xy[1][0], point.xy[0][0]] for point in geo_df.geometry ]\n",
    "\n",
    "i = 0\n",
    "for coordinates in geo_df_list:\n",
    "    #assign a color marker for the type of volcano, Strato being the most common\n",
    "    if geo_df.Type[i] == \"Stratovolcano\":\n",
    "        type_color = \"green\"\n",
    "    elif geo_df.Type[i] == \"Complex volcano\":\n",
    "        type_color = \"blue\"\n",
    "    elif geo_df.Type[i] == \"Shield volcano\":\n",
    "        type_color = \"orange\"\n",
    "    elif geo_df.Type[i] == \"Lava dome\":\n",
    "        type_color = \"pink\"\n",
    "    else:\n",
    "        type_color = \"purple\"\n",
    "\n",
    "\n",
    "    #now place the markers with the popup labels and data\n",
    "    map.add_child(folium.Marker(location = coordinates,\n",
    "                            popup =\n",
    "                            \"Year: \" + str(geo_df.Year[i]) + '<br>' +\n",
    "                            \"Name: \" + str(geo_df.Name[i]) + '<br>' +\n",
    "                            \"Country: \" + str(geo_df.Country[i]) + '<br>'\n",
    "                            \"Type: \" + str(geo_df.Type[i]) + '<br>'\n",
    "                            \"Coordinates: \" + str(geo_df_list[i]),\n",
    "                            icon = folium.Icon(color = \"%s\" % type_color)))\n",
    "    i = i + 1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div style=\"width:100%;\"><div style=\"position:relative;width:100%;height:0;padding-bottom:60%;\"><iframe src=\"data:text/html;charset=utf-8;base64,PCFET0NUWVBFIGh0bWw+CjxoZWFkPiAgICAKICAgIDxtZXRhIGh0dHAtZXF1aXY9ImNvbnRlbnQtdHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04IiAvPgogICAgCiAgICAgICAgPHNjcmlwdD4KICAgICAgICAgICAgTF9OT19UT1VDSCA9IGZhbHNlOwogICAgICAgICAgICBMX0RJU0FCTEVfM0QgPSBmYWxzZTsKICAgICAgICA8L3NjcmlwdD4KICAgIAogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vbGVhZmxldEAxLjQuMC9kaXN0L2xlYWZsZXQuanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY29kZS5qcXVlcnkuY29tL2pxdWVyeS0xLjEyLjQubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2Jvb3RzdHJhcC8zLjIuMC9qcy9ib290c3RyYXAubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9MZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy8yLjAuMi9sZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy5qcyI+PC9zY3JpcHQ+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vbGVhZmxldEAxLjQuMC9kaXN0L2xlYWZsZXQuY3NzIi8+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vbWF4Y2RuLmJvb3RzdHJhcGNkbi5jb20vYm9vdHN0cmFwLzMuMi4wL2Nzcy9ib290c3RyYXAubWluLmNzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2Jvb3RzdHJhcC8zLjIuMC9jc3MvYm9vdHN0cmFwLXRoZW1lLm1pbi5jc3MiLz4KICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9tYXhjZG4uYm9vdHN0cmFwY2RuLmNvbS9mb250LWF3ZXNvbWUvNC42LjMvY3NzL2ZvbnQtYXdlc29tZS5taW4uY3NzIi8+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL0xlYWZsZXQuYXdlc29tZS1tYXJrZXJzLzIuMC4yL2xlYWZsZXQuYXdlc29tZS1tYXJrZXJzLmNzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL3Jhd2Nkbi5naXRoYWNrLmNvbS9weXRob24tdmlzdWFsaXphdGlvbi9mb2xpdW0vbWFzdGVyL2ZvbGl1bS90ZW1wbGF0ZXMvbGVhZmxldC5hd2Vzb21lLnJvdGF0ZS5jc3MiLz4KICAgIDxzdHlsZT5odG1sLCBib2R5IHt3aWR0aDogMTAwJTtoZWlnaHQ6IDEwMCU7bWFyZ2luOiAwO3BhZGRpbmc6IDA7fTwvc3R5bGU+CiAgICA8c3R5bGU+I21hcCB7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7cmlnaHQ6MDtsZWZ0OjA7fTwvc3R5bGU+CiAgICAKICAgICAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwKICAgICAgICAgICAgICAgIGluaXRpYWwtc2NhbGU9MS4wLCBtYXhpbXVtLXNjYWxlPTEuMCwgdXNlci1zY2FsYWJsZT1ubyIgLz4KICAgICAgICAgICAgPHN0eWxlPgogICAgICAgICAgICAgICAgI21hcF9jZGYzMmFlMGRkZmM0ZjM5YjIwNzYzZDljZWUyYTg1ZSB7CiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAuMCU7CiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAuMCU7CiAgICAgICAgICAgICAgICAgICAgbGVmdDogMC4wJTsKICAgICAgICAgICAgICAgICAgICB0b3A6IDAuMCU7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIDwvc3R5bGU+CiAgICAgICAgCjwvaGVhZD4KPGJvZHk+ICAgIAogICAgCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvbGl1bS1tYXAiIGlkPSJtYXBfY2RmMzJhZTBkZGZjNGYzOWIyMDc2M2Q5Y2VlMmE4NWUiID48L2Rpdj4KICAgICAgICAKPC9ib2R5Pgo8c2NyaXB0PiAgICAKICAgIAogICAgICAgICAgICB2YXIgbWFwX2NkZjMyYWUwZGRmYzRmMzliMjA3NjNkOWNlZTJhODVlID0gTC5tYXAoCiAgICAgICAgICAgICAgICAibWFwX2NkZjMyYWUwZGRmYzRmMzliMjA3NjNkOWNlZTJhODVlIiwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBjZW50ZXI6IFs0LjAsIDEwLjBdLAogICAgICAgICAgICAgICAgICAgIGNyczogTC5DUlMuRVBTRzM4NTcsCiAgICAgICAgICAgICAgICAgICAgem9vbTogMywKICAgICAgICAgICAgICAgICAgICB6b29tQ29udHJvbDogdHJ1ZSwKICAgICAgICAgICAgICAgICAgICBwcmVmZXJDYW52YXM6IGZhbHNlLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApOwoKICAgICAgICAgICAgCgogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciB0aWxlX2xheWVyX2I5ZmI2NTIzYWFkNzRjMDc4ZmI4ZjhlN2M2ZWZlOGU4ID0gTC50aWxlTGF5ZXIoCiAgICAgICAgICAgICAgICAiaHR0cHM6Ly9zdGFtZW4tdGlsZXMte3N9LmEuc3NsLmZhc3RseS5uZXQvdGVycmFpbi97en0ve3h9L3t5fS5qcGciLAogICAgICAgICAgICAgICAgeyJhdHRyaWJ1dGlvbiI6ICJNYXAgdGlsZXMgYnkgXHUwMDNjYSBocmVmPVwiaHR0cDovL3N0YW1lbi5jb21cIlx1MDAzZVN0YW1lbiBEZXNpZ25cdTAwM2MvYVx1MDAzZSwgdW5kZXIgXHUwMDNjYSBocmVmPVwiaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbGljZW5zZXMvYnkvMy4wXCJcdTAwM2VDQyBCWSAzLjBcdTAwM2MvYVx1MDAzZS4gRGF0YSBieSBcdTAwMjZjb3B5OyBcdTAwM2NhIGhyZWY9XCJodHRwOi8vb3BlbnN0cmVldG1hcC5vcmdcIlx1MDAzZU9wZW5TdHJlZXRNYXBcdTAwM2MvYVx1MDAzZSwgdW5kZXIgXHUwMDNjYSBocmVmPVwiaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbGljZW5zZXMvYnktc2EvMy4wXCJcdTAwM2VDQyBCWSBTQVx1MDAzYy9hXHUwMDNlLiIsICJkZXRlY3RSZXRpbmEiOiBmYWxzZSwgIm1heE5hdGl2ZVpvb20iOiAxOCwgIm1heFpvb20iOiAxOCwgIm1pblpvb20iOiAwLCAibm9XcmFwIjogZmFsc2UsICJvcGFjaXR5IjogMSwgInN1YmRvbWFpbnMiOiAiYWJjIiwgInRtcyI6IGZhbHNlfQogICAgICAgICAgICApLmFkZFRvKG1hcF9jZGYzMmFlMGRkZmM0ZjM5YjIwNzYzZDljZWUyYTg1ZSk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIG1hcmtlcl85MTI5YzMzOTViMmY0NGM2YTE1MDllNzMxMmU3MDk2NCA9IEwubWFya2VyKAogICAgICAgICAgICAgICAgWy0xLjQ2Njk5OTk5OTk5OTk5OTksIC03OC40NDJdLAogICAgICAgICAgICAgICAge30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfY2RmMzJhZTBkZGZjNGYzOWIyMDc2M2Q5Y2VlMmE4NWUpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBpY29uXzBhMTYxNWIxMWI1YTQ5OGI4MTdlYjM3NjNiN2JiNjVlID0gTC5Bd2Vzb21lTWFya2Vycy5pY29uKAogICAgICAgICAgICAgICAgeyJleHRyYUNsYXNzZXMiOiAiZmEtcm90YXRlLTAiLCAiaWNvbiI6ICJpbmZvLXNpZ24iLCAiaWNvbkNvbG9yIjogIndoaXRlIiwgIm1hcmtlckNvbG9yIjogImdyZWVuIiwgInByZWZpeCI6ICJnbHlwaGljb24ifQogICAgICAgICAgICApOwogICAgICAgICAgICBtYXJrZXJfOTEyOWMzMzk1YjJmNDRjNmExNTA5ZTczMTJlNzA5NjQuc2V0SWNvbihpY29uXzBhMTYxNWIxMWI1YTQ5OGI4MTdlYjM3NjNiN2JiNjVlKTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBwb3B1cF9hMThlNDI0NGQ5M2U0NzgyODAyZGVjODExYjJkMDg3MSA9IEwucG9wdXAoeyJtYXhXaWR0aCI6ICIxMDAlIn0pOwoKICAgICAgICAKICAgICAgICAgICAgdmFyIGh0bWxfMjhkMTkyM2I4N2QwNDE0ZWIyMDk5NjBlOTAxZTE1OWYgPSAkKGA8ZGl2IGlkPSJodG1sXzI4ZDE5MjNiODdkMDQxNGViMjA5OTYwZTkwMWUxNTlmIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5ZZWFyOiAyMDEwPGJyPk5hbWU6IFR1bmd1cmFodWE8YnI+Q291bnRyeTogRWN1YWRvcjxicj5UeXBlOiBTdHJhdG92b2xjYW5vPGJyPkNvb3JkaW5hdGVzOiBbLTEuNDY2OTk5OTk5OTk5OTk5OSwgLTc4LjQ0Ml08L2Rpdj5gKVswXTsKICAgICAgICAgICAgcG9wdXBfYTE4ZTQyNDRkOTNlNDc4MjgwMmRlYzgxMWIyZDA4NzEuc2V0Q29udGVudChodG1sXzI4ZDE5MjNiODdkMDQxNGViMjA5OTYwZTkwMWUxNTlmKTsKICAgICAgICAKCiAgICAgICAgbWFya2VyXzkxMjljMzM5NWIyZjQ0YzZhMTUwOWU3MzEyZTcwOTY0LmJpbmRQb3B1cChwb3B1cF9hMThlNDI0NGQ5M2U0NzgyODAyZGVjODExYjJkMDg3MSkKICAgICAgICA7CgogICAgICAgIAogICAgCiAgICAKICAgICAgICAgICAgdmFyIG1hcmtlcl85NWRjZTU0NmE4ODI0YjZhYTY4MDI0ZTczNjQ5ZjQ3YSA9IEwubWFya2VyKAogICAgICAgICAgICAgICAgWzYzLjYzLCAtMTkuNjJdLAogICAgICAgICAgICAgICAge30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfY2RmMzJhZTBkZGZjNGYzOWIyMDc2M2Q5Y2VlMmE4NWUpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBpY29uXzFhZDg2YjNkN2U1ZjQxYTE5MjY2YjhlYTg5YTBkMmEyID0gTC5Bd2Vzb21lTWFya2Vycy5pY29uKAogICAgICAgICAgICAgICAgeyJleHRyYUNsYXNzZXMiOiAiZmEtcm90YXRlLTAiLCAiaWNvbiI6ICJpbmZvLXNpZ24iLCAiaWNvbkNvbG9yIjogIndoaXRlIiwgIm1hcmtlckNvbG9yIjogImdyZWVuIiwgInByZWZpeCI6ICJnbHlwaGljb24ifQogICAgICAgICAgICApOwogICAgICAgICAgICBtYXJrZXJfOTVkY2U1NDZhODgyNGI2YWE2ODAyNGU3MzY0OWY0N2Euc2V0SWNvbihpY29uXzFhZDg2YjNkN2U1ZjQxYTE5MjY2YjhlYTg5YTBkMmEyKTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBwb3B1cF9iZmFhOTNjMGFhNTY0YmY2YTVkYWRiMjE5NmYzYWE1NCA9IEwucG9wdXAoeyJtYXhXaWR0aCI6ICIxMDAlIn0pOwoKICAgICAgICAKICAgICAgICAgICAgdmFyIGh0bWxfNDYwMjIwZjY1NGE0NGJkNWJkMmVmMjg5NWIzMzVmYTkgPSAkKGA8ZGl2IGlkPSJodG1sXzQ2MDIyMGY2NTRhNDRiZDViZDJlZjI4OTViMzM1ZmE5IiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5ZZWFyOiAyMDEwPGJyPk5hbWU6IEV5amFmamFsbGFqb2t1bGw8YnI+Q291bnRyeTogSWNlbGFuZDxicj5UeXBlOiBTdHJhdG92b2xjYW5vPGJyPkNvb3JkaW5hdGVzOiBbNjMuNjMsIC0xOS42Ml08L2Rpdj5gKVswXTsKICAgICAgICAgICAgcG9wdXBfYmZhYTkzYzBhYTU2NGJmNmE1ZGFkYjIxOTZmM2FhNTQuc2V0Q29udGVudChodG1sXzQ2MDIyMGY2NTRhNDRiZDViZDJlZjI4OTViMzM1ZmE5KTsKICAgICAgICAKCiAgICAgICAgbWFya2VyXzk1ZGNlNTQ2YTg4MjRiNmFhNjgwMjRlNzM2NDlmNDdhLmJpbmRQb3B1cChwb3B1cF9iZmFhOTNjMGFhNTY0YmY2YTVkYWRiMjE5NmYzYWE1NCkKICAgICAgICA7CgogICAgICAgIAogICAgCiAgICAKICAgICAgICAgICAgdmFyIG1hcmtlcl9iMzU4MjE0MDliMWI0ZjcwOGUxNWE3MzA0MmFhNjgwZSA9IEwubWFya2VyKAogICAgICAgICAgICAgICAgWzE0LjM4MDk5OTk5OTk5OTk5OCwgLTkwLjYwMV0sCiAgICAgICAgICAgICAgICB7fQogICAgICAgICAgICApLmFkZFRvKG1hcF9jZGYzMmFlMGRkZmM0ZjM5YjIwNzYzZDljZWUyYTg1ZSk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGljb25fN2U4NWU1M2JjZGY5NDc4ZWJhN2I3OTc0MjllYzdkMDQgPSBMLkF3ZXNvbWVNYXJrZXJzLmljb24oCiAgICAgICAgICAgICAgICB7ImV4dHJhQ2xhc3NlcyI6ICJmYS1yb3RhdGUtMCIsICJpY29uIjogImluZm8tc2lnbiIsICJpY29uQ29sb3IiOiAid2hpdGUiLCAibWFya2VyQ29sb3IiOiAiYmx1ZSIsICJwcmVmaXgiOiAiZ2x5cGhpY29uIn0KICAgICAgICAgICAgKTsKICAgICAgICAgICAgbWFya2VyX2IzNTgyMTQwOWIxYjRmNzA4ZTE1YTczMDQyYWE2ODBlLnNldEljb24oaWNvbl83ZTg1ZTUzYmNkZjk0NzhlYmE3Yjc5NzQyOWVjN2QwNCk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgcG9wdXBfMTY3MDU2NTE5ZDBmNGM4Yjk1MTFhMDU4YjY5ZmVjMzEgPSBMLnBvcHVwKHsibWF4V2lkdGgiOiAiMTAwJSJ9KTsKCiAgICAgICAgCiAgICAgICAgICAgIHZhciBodG1sX2ViYjgwYjk1ZjEwYzQ0MDdiOGJjZDUyZDkwNTA4YTMzID0gJChgPGRpdiBpZD0iaHRtbF9lYmI4MGI5NWYxMGM0NDA3YjhiY2Q1MmQ5MDUwOGEzMyIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+WWVhcjogMjAxMDxicj5OYW1lOiBQYWNheWE8YnI+Q291bnRyeTogR3VhdGVtYWxhPGJyPlR5cGU6IENvbXBsZXggdm9sY2Fubzxicj5Db29yZGluYXRlczogWzE0LjM4MDk5OTk5OTk5OTk5OCwgLTkwLjYwMV08L2Rpdj5gKVswXTsKICAgICAgICAgICAgcG9wdXBfMTY3MDU2NTE5ZDBmNGM4Yjk1MTFhMDU4YjY5ZmVjMzEuc2V0Q29udGVudChodG1sX2ViYjgwYjk1ZjEwYzQ0MDdiOGJjZDUyZDkwNTA4YTMzKTsKICAgICAgICAKCiAgICAgICAgbWFya2VyX2IzNTgyMTQwOWIxYjRmNzA4ZTE1YTczMDQyYWE2ODBlLmJpbmRQb3B1cChwb3B1cF8xNjcwNTY1MTlkMGY0YzhiOTUxMWEwNThiNjlmZWMzMSkKICAgICAgICA7CgogICAgICAgIAogICAgCiAgICAKICAgICAgICAgICAgdmFyIG1hcmtlcl9lYzk4MGUxYzY0MGQ0ODhjOWVjYzQ1YTRlMjJkZWIwMiA9IEwubWFya2VyKAogICAgICAgICAgICAgICAgWzE2LjcwOCwgMTQ1Ljc4XSwKICAgICAgICAgICAgICAgIHt9CiAgICAgICAgICAgICkuYWRkVG8obWFwX2NkZjMyYWUwZGRmYzRmMzliMjA3NjNkOWNlZTJhODVlKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgaWNvbl9jODZiMzNiMTRmN2M0YTczOTNmOTQzMTQ5NzMyNTY0MCA9IEwuQXdlc29tZU1hcmtlcnMuaWNvbigKICAgICAgICAgICAgICAgIHsiZXh0cmFDbGFzc2VzIjogImZhLXJvdGF0ZS0wIiwgImljb24iOiAiaW5mby1zaWduIiwgImljb25Db2xvciI6ICJ3aGl0ZSIsICJtYXJrZXJDb2xvciI6ICJncmVlbiIsICJwcmVmaXgiOiAiZ2x5cGhpY29uIn0KICAgICAgICAgICAgKTsKICAgICAgICAgICAgbWFya2VyX2VjOTgwZTFjNjQwZDQ4OGM5ZWNjNDVhNGUyMmRlYjAyLnNldEljb24oaWNvbl9jODZiMzNiMTRmN2M0YTczOTNmOTQzMTQ5NzMyNTY0MCk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgcG9wdXBfMzI0NDc2NzQ1Mzk0NGY1ODgwZTg0ZGJkMDk5NTA1YmYgPSBMLnBvcHVwKHsibWF4V2lkdGgiOiAiMTAwJSJ9KTsKCiAgICAgICAgCiAgICAgICAgICAgIHZhciBodG1sXzU2MjY3MDk5NGM5ZDQ0M2U4YTBlNWRjZDU5NDI0YjAxID0gJChgPGRpdiBpZD0iaHRtbF81NjI2NzA5OTRjOWQ0NDNlOGEwZTVkY2Q1OTQyNGIwMSIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+WWVhcjogMjAxMDxicj5OYW1lOiBTYXJpZ2FuPGJyPkNvdW50cnk6IFVuaXRlZCBTdGF0ZXM8YnI+VHlwZTogU3RyYXRvdm9sY2Fubzxicj5Db29yZGluYXRlczogWzE2LjcwOCwgMTQ1Ljc4XTwvZGl2PmApWzBdOwogICAgICAgICAgICBwb3B1cF8zMjQ0NzY3NDUzOTQ0ZjU4ODBlODRkYmQwOTk1MDViZi5zZXRDb250ZW50KGh0bWxfNTYyNjcwOTk0YzlkNDQzZThhMGU1ZGNkNTk0MjRiMDEpOwogICAgICAgIAoKICAgICAgICBtYXJrZXJfZWM5ODBlMWM2NDBkNDg4YzllY2M0NWE0ZTIyZGViMDIuYmluZFBvcHVwKHBvcHVwXzMyNDQ3Njc0NTM5NDRmNTg4MGU4NGRiZDA5OTUwNWJmKQogICAgICAgIDsKCiAgICAgICAgCiAgICAKICAgIAogICAgICAgICAgICB2YXIgbWFya2VyX2ZhMTE5NGFjMDE2ZjQ3ZjZhYjViNDQ0ZmQ4ZWE5ZTRjID0gTC5tYXJrZXIoCiAgICAgICAgICAgICAgICBbMi43OCwgMTI1LjQ4XSwKICAgICAgICAgICAgICAgIHt9CiAgICAgICAgICAgICkuYWRkVG8obWFwX2NkZjMyYWUwZGRmYzRmMzliMjA3NjNkOWNlZTJhODVlKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgaWNvbl8xYjA1Y2M3NjljMmE0NzEwYmU5YTRmYWEwYzJiNWZjNiA9IEwuQXdlc29tZU1hcmtlcnMuaWNvbigKICAgICAgICAgICAgICAgIHsiZXh0cmFDbGFzc2VzIjogImZhLXJvdGF0ZS0wIiwgImljb24iOiAiaW5mby1zaWduIiwgImljb25Db2xvciI6ICJ3aGl0ZSIsICJtYXJrZXJDb2xvciI6ICJncmVlbiIsICJwcmVmaXgiOiAiZ2x5cGhpY29uIn0KICAgICAgICAgICAgKTsKICAgICAgICAgICAgbWFya2VyX2ZhMTE5NGFjMDE2ZjQ3ZjZhYjViNDQ0ZmQ4ZWE5ZTRjLnNldEljb24oaWNvbl8xYjA1Y2M3NjljMmE0NzEwYmU5YTRmYWEwYzJiNWZjNik7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgcG9wdXBfNDRlNzkyYjZjNDIxNGEwNmJmZTBmNjcwMDZhNjJkYTMgPSBMLnBvcHVwKHsibWF4V2lkdGgiOiAiMTAwJSJ9KTsKCiAgICAgICAgCiAgICAgICAgICAgIHZhciBodG1sXzZlZjk3NmFiNGI5NTQzNTRhOWU0NzNhMjFhMmI3ZDU4ID0gJChgPGRpdiBpZD0iaHRtbF82ZWY5NzZhYjRiOTU0MzU0YTllNDczYTIxYTJiN2Q1OCIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+WWVhcjogMjAxMDxicj5OYW1lOiBLYXJhbmdldGFuZyBbQXBpIFNpYXVdPGJyPkNvdW50cnk6IEluZG9uZXNpYTxicj5UeXBlOiBTdHJhdG92b2xjYW5vPGJyPkNvb3JkaW5hdGVzOiBbMi43OCwgMTI1LjQ4XTwvZGl2PmApWzBdOwogICAgICAgICAgICBwb3B1cF80NGU3OTJiNmM0MjE0YTA2YmZlMGY2NzAwNmE2MmRhMy5zZXRDb250ZW50KGh0bWxfNmVmOTc2YWI0Yjk1NDM1NGE5ZTQ3M2EyMWEyYjdkNTgpOwogICAgICAgIAoKICAgICAgICBtYXJrZXJfZmExMTk0YWMwMTZmNDdmNmFiNWI0NDRmZDhlYTllNGMuYmluZFBvcHVwKHBvcHVwXzQ0ZTc5MmI2YzQyMTRhMDZiZmUwZjY3MDA2YTYyZGEzKQogICAgICAgIDsKCiAgICAgICAgCiAgICAKICAgIAogICAgICAgICAgICB2YXIgbWFya2VyXzZiZjA1MDgzNmNhMDRiMTg5NmQ1YWE0NWUyMWIxYzBiID0gTC5tYXJrZXIoCiAgICAgICAgICAgICAgICBbMy4xNywgOTguMzkyMDAwMDAwMDAwMDFdLAogICAgICAgICAgICAgICAge30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfY2RmMzJhZTBkZGZjNGYzOWIyMDc2M2Q5Y2VlMmE4NWUpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBpY29uXzk1OGIzNTYxMTUxMzQ4NTFiZGQyNmY2MTBhNDBkM2MyID0gTC5Bd2Vzb21lTWFya2Vycy5pY29uKAogICAgICAgICAgICAgICAgeyJleHRyYUNsYXNzZXMiOiAiZmEtcm90YXRlLTAiLCAiaWNvbiI6ICJpbmZvLXNpZ24iLCAiaWNvbkNvbG9yIjogIndoaXRlIiwgIm1hcmtlckNvbG9yIjogImdyZWVuIiwgInByZWZpeCI6ICJnbHlwaGljb24ifQogICAgICAgICAgICApOwogICAgICAgICAgICBtYXJrZXJfNmJmMDUwODM2Y2EwNGIxODk2ZDVhYTQ1ZTIxYjFjMGIuc2V0SWNvbihpY29uXzk1OGIzNTYxMTUxMzQ4NTFiZGQyNmY2MTBhNDBkM2MyKTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBwb3B1cF9iZGYxMjlkYTc2ZWQ0ZTk5OTc3MDY1ZjcwMjhlZmJmNCA9IEwucG9wdXAoeyJtYXhXaWR0aCI6ICIxMDAlIn0pOwoKICAgICAgICAKICAgICAgICAgICAgdmFyIGh0bWxfYTA1OGQ2ZmE3OTYwNGZlODliNTMxNDk1Mzc0NDJlYWEgPSAkKGA8ZGl2IGlkPSJodG1sX2EwNThkNmZhNzk2MDRmZTg5YjUzMTQ5NTM3NDQyZWFhIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5ZZWFyOiAyMDEwPGJyPk5hbWU6IFNpbmFidW5nPGJyPkNvdW50cnk6IEluZG9uZXNpYTxicj5UeXBlOiBTdHJhdG92b2xjYW5vPGJyPkNvb3JkaW5hdGVzOiBbMy4xNywgOTguMzkyMDAwMDAwMDAwMDFdPC9kaXY+YClbMF07CiAgICAgICAgICAgIHBvcHVwX2JkZjEyOWRhNzZlZDRlOTk5NzcwNjVmNzAyOGVmYmY0LnNldENvbnRlbnQoaHRtbF9hMDU4ZDZmYTc5NjA0ZmU4OWI1MzE0OTUzNzQ0MmVhYSk7CiAgICAgICAgCgogICAgICAgIG1hcmtlcl82YmYwNTA4MzZjYTA0YjE4OTZkNWFhNDVlMjFiMWMwYi5iaW5kUG9wdXAocG9wdXBfYmRmMTI5ZGE3NmVkNGU5OTk3NzA2NWY3MDI4ZWZiZjQpCiAgICAgICAgOwoKICAgICAgICAKICAgIAogICAgCiAgICAgICAgICAgIHZhciBtYXJrZXJfMDMyZWFmMzhiMDdjNGMzYjhiYzFhYTdkNTI0OWFkMjYgPSBMLm1hcmtlcigKICAgICAgICAgICAgICAgIFstNy41NDIwMDAwMDAwMDAwMDEsIDExMC40NDIwMDAwMDAwMDAwMV0sCiAgICAgICAgICAgICAgICB7fQogICAgICAgICAgICApLmFkZFRvKG1hcF9jZGYzMmFlMGRkZmM0ZjM5YjIwNzYzZDljZWUyYTg1ZSk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGljb25fZTI2ZTU3ZWI4NmNmNDk4OGIzZGQzZGRjNDk2ZmUzN2YgPSBMLkF3ZXNvbWVNYXJrZXJzLmljb24oCiAgICAgICAgICAgICAgICB7ImV4dHJhQ2xhc3NlcyI6ICJmYS1yb3RhdGUtMCIsICJpY29uIjogImluZm8tc2lnbiIsICJpY29uQ29sb3IiOiAid2hpdGUiLCAibWFya2VyQ29sb3IiOiAiZ3JlZW4iLCAicHJlZml4IjogImdseXBoaWNvbiJ9CiAgICAgICAgICAgICk7CiAgICAgICAgICAgIG1hcmtlcl8wMzJlYWYzOGIwN2M0YzNiOGJjMWFhN2Q1MjQ5YWQyNi5zZXRJY29uKGljb25fZTI2ZTU3ZWI4NmNmNDk4OGIzZGQzZGRjNDk2ZmUzN2YpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIHBvcHVwXzQzYjVlYzY0ZjZlNDQyYTFiMTI3MThlNDE3YzFhYzUxID0gTC5wb3B1cCh7Im1heFdpZHRoIjogIjEwMCUifSk7CgogICAgICAgIAogICAgICAgICAgICB2YXIgaHRtbF9lZTk5MmZkNDMwMDA0YmZjOTA2M2NlNjM0ZjU3YjM3YSA9ICQoYDxkaXYgaWQ9Imh0bWxfZWU5OTJmZDQzMDAwNGJmYzkwNjNjZTYzNGY1N2IzN2EiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPlllYXI6IDIwMTA8YnI+TmFtZTogTWVyYXBpPGJyPkNvdW50cnk6IEluZG9uZXNpYTxicj5UeXBlOiBTdHJhdG92b2xjYW5vPGJyPkNvb3JkaW5hdGVzOiBbLTcuNTQyMDAwMDAwMDAwMDAxLCAxMTAuNDQyMDAwMDAwMDAwMDFdPC9kaXY+YClbMF07CiAgICAgICAgICAgIHBvcHVwXzQzYjVlYzY0ZjZlNDQyYTFiMTI3MThlNDE3YzFhYzUxLnNldENvbnRlbnQoaHRtbF9lZTk5MmZkNDMwMDA0YmZjOTA2M2NlNjM0ZjU3YjM3YSk7CiAgICAgICAgCgogICAgICAgIG1hcmtlcl8wMzJlYWYzOGIwN2M0YzNiOGJjMWFhN2Q1MjQ5YWQyNi5iaW5kUG9wdXAocG9wdXBfNDNiNWVjNjRmNmU0NDJhMWIxMjcxOGU0MTdjMWFjNTEpCiAgICAgICAgOwoKICAgICAgICAKICAgIAogICAgCiAgICAgICAgICAgIHZhciBtYXJrZXJfODY5ZDNjYjM1MzcxNDQ0N2I3ZGJkMzNiM2E2YzBiOGIgPSBMLm1hcmtlcigKICAgICAgICAgICAgICAgIFstMS40NjY5OTk5OTk5OTk5OTk5LCAtNzguNDQyXSwKICAgICAgICAgICAgICAgIHt9CiAgICAgICAgICAgICkuYWRkVG8obWFwX2NkZjMyYWUwZGRmYzRmMzliMjA3NjNkOWNlZTJhODVlKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgaWNvbl8yMjhjNmQyODlmYzI0MTQ5YjhjYzRlZmMwNzdhY2IzYiA9IEwuQXdlc29tZU1hcmtlcnMuaWNvbigKICAgICAgICAgICAgICAgIHsiZXh0cmFDbGFzc2VzIjogImZhLXJvdGF0ZS0wIiwgImljb24iOiAiaW5mby1zaWduIiwgImljb25Db2xvciI6ICJ3aGl0ZSIsICJtYXJrZXJDb2xvciI6ICJncmVlbiIsICJwcmVmaXgiOiAiZ2x5cGhpY29uIn0KICAgICAgICAgICAgKTsKICAgICAgICAgICAgbWFya2VyXzg2OWQzY2IzNTM3MTQ0NDdiN2RiZDMzYjNhNmMwYjhiLnNldEljb24oaWNvbl8yMjhjNmQyODlmYzI0MTQ5YjhjYzRlZmMwNzdhY2IzYik7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgcG9wdXBfNjliMDZkNWM0ODdiNDc0NmJmYmJjNTAzYmVjZGU4MjggPSBMLnBvcHVwKHsibWF4V2lkdGgiOiAiMTAwJSJ9KTsKCiAgICAgICAgCiAgICAgICAgICAgIHZhciBodG1sX2E3NGY2NTc3NDdiODQyMGI4NDgzMjAxMjY3ZWI3YTQzID0gJChgPGRpdiBpZD0iaHRtbF9hNzRmNjU3NzQ3Yjg0MjBiODQ4MzIwMTI2N2ViN2E0MyIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+WWVhcjogMjAxMDxicj5OYW1lOiBUdW5ndXJhaHVhPGJyPkNvdW50cnk6IEVjdWFkb3I8YnI+VHlwZTogU3RyYXRvdm9sY2Fubzxicj5Db29yZGluYXRlczogWy0xLjQ2Njk5OTk5OTk5OTk5OTksIC03OC40NDJdPC9kaXY+YClbMF07CiAgICAgICAgICAgIHBvcHVwXzY5YjA2ZDVjNDg3YjQ3NDZiZmJiYzUwM2JlY2RlODI4LnNldENvbnRlbnQoaHRtbF9hNzRmNjU3NzQ3Yjg0MjBiODQ4MzIwMTI2N2ViN2E0Myk7CiAgICAgICAgCgogICAgICAgIG1hcmtlcl84NjlkM2NiMzUzNzE0NDQ3YjdkYmQzM2IzYTZjMGI4Yi5iaW5kUG9wdXAocG9wdXBfNjliMDZkNWM0ODdiNDc0NmJmYmJjNTAzYmVjZGU4MjgpCiAgICAgICAgOwoKICAgICAgICAKICAgIAogICAgCiAgICAgICAgICAgIHZhciBtYXJrZXJfN2IwN2ZlMjdmYTIwNDAyOWFlNGRjYjFmNTNiZDgxNGMgPSBMLm1hcmtlcigKICAgICAgICAgICAgICAgIFstNy45NDIsIDExMi45NV0sCiAgICAgICAgICAgICAgICB7fQogICAgICAgICAgICApLmFkZFRvKG1hcF9jZGYzMmFlMGRkZmM0ZjM5YjIwNzYzZDljZWUyYTg1ZSk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGljb25fYjRjZDc3YzFmYzA4NDhkYjllY2FmMTFmMTI0OWViZWUgPSBMLkF3ZXNvbWVNYXJrZXJzLmljb24oCiAgICAgICAgICAgICAgICB7ImV4dHJhQ2xhc3NlcyI6ICJmYS1yb3RhdGUtMCIsICJpY29uIjogImluZm8tc2lnbiIsICJpY29uQ29sb3IiOiAid2hpdGUiLCAibWFya2VyQ29sb3IiOiAiZ3JlZW4iLCAicHJlZml4IjogImdseXBoaWNvbiJ9CiAgICAgICAgICAgICk7CiAgICAgICAgICAgIG1hcmtlcl83YjA3ZmUyN2ZhMjA0MDI5YWU0ZGNiMWY1M2JkODE0Yy5zZXRJY29uKGljb25fYjRjZDc3YzFmYzA4NDhkYjllY2FmMTFmMTI0OWViZWUpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIHBvcHVwXzQ4Y2M1ZDQzMDQzYTQ0NjNiYTFhNjU4MTNiMjI4ZmM2ID0gTC5wb3B1cCh7Im1heFdpZHRoIjogIjEwMCUifSk7CgogICAgICAgIAogICAgICAgICAgICB2YXIgaHRtbF8zNzFmMTg1ODllMzI0OGY4OGY0MDgxNTUxYTUyYjQ3NSA9ICQoYDxkaXYgaWQ9Imh0bWxfMzcxZjE4NTg5ZTMyNDhmODhmNDA4MTU1MWE1MmI0NzUiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPlllYXI6IDIwMTA8YnI+TmFtZTogVGVuZ2dlciBDYWxkZXJhPGJyPkNvdW50cnk6IEluZG9uZXNpYTxicj5UeXBlOiBTdHJhdG92b2xjYW5vPGJyPkNvb3JkaW5hdGVzOiBbLTcuOTQyLCAxMTIuOTVdPC9kaXY+YClbMF07CiAgICAgICAgICAgIHBvcHVwXzQ4Y2M1ZDQzMDQzYTQ0NjNiYTFhNjU4MTNiMjI4ZmM2LnNldENvbnRlbnQoaHRtbF8zNzFmMTg1ODllMzI0OGY4OGY0MDgxNTUxYTUyYjQ3NSk7CiAgICAgICAgCgogICAgICAgIG1hcmtlcl83YjA3ZmUyN2ZhMjA0MDI5YWU0ZGNiMWY1M2JkODE0Yy5iaW5kUG9wdXAocG9wdXBfNDhjYzVkNDMwNDNhNDQ2M2JhMWE2NTgxM2IyMjhmYzYpCiAgICAgICAgOwoKICAgICAgICAKICAgIAogICAgCiAgICAgICAgICAgIHZhciBtYXJrZXJfMjA2YjJiY2NjZDY5NDFkMjlhYjMzZjcyZDA4YTQ2YjUgPSBMLm1hcmtlcigKICAgICAgICAgICAgICAgIFstNy41NDIwMDAwMDAwMDAwMDEsIDExMC40NDIwMDAwMDAwMDAwMV0sCiAgICAgICAgICAgICAgICB7fQogICAgICAgICAgICApLmFkZFRvKG1hcF9jZGYzMmFlMGRkZmM0ZjM5YjIwNzYzZDljZWUyYTg1ZSk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGljb25fZjVjNTU5NzA3NDdlNGZiMDg5MzU4NTZkNzYyOWVjM2UgPSBMLkF3ZXNvbWVNYXJrZXJzLmljb24oCiAgICAgICAgICAgICAgICB7ImV4dHJhQ2xhc3NlcyI6ICJmYS1yb3RhdGUtMCIsICJpY29uIjogImluZm8tc2lnbiIsICJpY29uQ29sb3IiOiAid2hpdGUiLCAibWFya2VyQ29sb3IiOiAiZ3JlZW4iLCAicHJlZml4IjogImdseXBoaWNvbiJ9CiAgICAgICAgICAgICk7CiAgICAgICAgICAgIG1hcmtlcl8yMDZiMmJjY2NkNjk0MWQyOWFiMzNmNzJkMDhhNDZiNS5zZXRJY29uKGljb25fZjVjNTU5NzA3NDdlNGZiMDg5MzU4NTZkNzYyOWVjM2UpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIHBvcHVwXzE5NzIxYTc0ZjU3ZDRlYzFhNzhhYmFkN2U1ZTA0NDFmID0gTC5wb3B1cCh7Im1heFdpZHRoIjogIjEwMCUifSk7CgogICAgICAgIAogICAgICAgICAgICB2YXIgaHRtbF8xN2Q0YjUwNTJiYTE0MmUzODMwNzIxNDBjMGY4ZWE2OSA9ICQoYDxkaXYgaWQ9Imh0bWxfMTdkNGI1MDUyYmExNDJlMzgzMDcyMTQwYzBmOGVhNjkiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPlllYXI6IDIwMTE8YnI+TmFtZTogTWVyYXBpPGJyPkNvdW50cnk6IEluZG9uZXNpYTxicj5UeXBlOiBTdHJhdG92b2xjYW5vPGJyPkNvb3JkaW5hdGVzOiBbLTcuNTQyMDAwMDAwMDAwMDAxLCAxMTAuNDQyMDAwMDAwMDAwMDFdPC9kaXY+YClbMF07CiAgICAgICAgICAgIHBvcHVwXzE5NzIxYTc0ZjU3ZDRlYzFhNzhhYmFkN2U1ZTA0NDFmLnNldENvbnRlbnQoaHRtbF8xN2Q0YjUwNTJiYTE0MmUzODMwNzIxNDBjMGY4ZWE2OSk7CiAgICAgICAgCgogICAgICAgIG1hcmtlcl8yMDZiMmJjY2NkNjk0MWQyOWFiMzNmNzJkMDhhNDZiNS5iaW5kUG9wdXAocG9wdXBfMTk3MjFhNzRmNTdkNGVjMWE3OGFiYWQ3ZTVlMDQ0MWYpCiAgICAgICAgOwoKICAgICAgICAKICAgIAogICAgCiAgICAgICAgICAgIHZhciBtYXJrZXJfMmI2M2ZkNzg4ZWNlNGY0Y2JkZjQ1NDJlMDQ4MjhhYmIgPSBMLm1hcmtlcigKICAgICAgICAgICAgICAgIFszMS45MywgMTMwLjg3XSwKICAgICAgICAgICAgICAgIHt9CiAgICAgICAgICAgICkuYWRkVG8obWFwX2NkZjMyYWUwZGRmYzRmMzliMjA3NjNkOWNlZTJhODVlKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgaWNvbl81NjBlOTM1Mzg0ODQ0MzBkOWY5NWJkNGYxOGYyODY0MSA9IEwuQXdlc29tZU1hcmtlcnMuaWNvbigKICAgICAgICAgICAgICAgIHsiZXh0cmFDbGFzc2VzIjogImZhLXJvdGF0ZS0wIiwgImljb24iOiAiaW5mby1zaWduIiwgImljb25Db2xvciI6ICJ3aGl0ZSIsICJtYXJrZXJDb2xvciI6ICJvcmFuZ2UiLCAicHJlZml4IjogImdseXBoaWNvbiJ9CiAgICAgICAgICAgICk7CiAgICAgICAgICAgIG1hcmtlcl8yYjYzZmQ3ODhlY2U0ZjRjYmRmNDU0MmUwNDgyOGFiYi5zZXRJY29uKGljb25fNTYwZTkzNTM4NDg0NDMwZDlmOTViZDRmMThmMjg2NDEpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIHBvcHVwX2ZiYjA3YjA0OTE4YzRmZTM4NTQ4ZmRiOTE0NTZmOWU3ID0gTC5wb3B1cCh7Im1heFdpZHRoIjogIjEwMCUifSk7CgogICAgICAgIAogICAgICAgICAgICB2YXIgaHRtbF9mYTAyYzg3NTJjZDM0ODYwYTc5NmFmZDg5YWQ4MzExYSA9ICQoYDxkaXYgaWQ9Imh0bWxfZmEwMmM4NzUyY2QzNDg2MGE3OTZhZmQ4OWFkODMxMWEiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPlllYXI6IDIwMTE8YnI+TmFtZTogS2lyaXNoaW1hPGJyPkNvdW50cnk6IEphcGFuPGJyPlR5cGU6IFNoaWVsZCB2b2xjYW5vPGJyPkNvb3JkaW5hdGVzOiBbMzEuOTMsIDEzMC44N108L2Rpdj5gKVswXTsKICAgICAgICAgICAgcG9wdXBfZmJiMDdiMDQ5MThjNGZlMzg1NDhmZGI5MTQ1NmY5ZTcuc2V0Q29udGVudChodG1sX2ZhMDJjODc1MmNkMzQ4NjBhNzk2YWZkODlhZDgzMTFhKTsKICAgICAgICAKCiAgICAgICAgbWFya2VyXzJiNjNmZDc4OGVjZTRmNGNiZGY0NTQyZTA0ODI4YWJiLmJpbmRQb3B1cChwb3B1cF9mYmIwN2IwNDkxOGM0ZmUzODU0OGZkYjkxNDU2ZjllNykKICAgICAgICA7CgogICAgICAgIAogICAgCiAgICAKICAgICAgICAgICAgdmFyIG1hcmtlcl9iOWQ4OGQ4MGEzODc0ZTFmYmYyOGY0ZTk5ZTBmNDk3NSA9IEwubWFya2VyKAogICAgICAgICAgICAgICAgWzEyLjc3LCAxMjQuMDVdLAogICAgICAgICAgICAgICAge30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfY2RmMzJhZTBkZGZjNGYzOWIyMDc2M2Q5Y2VlMmE4NWUpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBpY29uX2E3MGM5YTJmNWI3NjQyM2JiNTMxNDgzYmViMTE2NGVlID0gTC5Bd2Vzb21lTWFya2Vycy5pY29uKAogICAgICAgICAgICAgICAgeyJleHRyYUNsYXNzZXMiOiAiZmEtcm90YXRlLTAiLCAiaWNvbiI6ICJpbmZvLXNpZ24iLCAiaWNvbkNvbG9yIjogIndoaXRlIiwgIm1hcmtlckNvbG9yIjogImdyZWVuIiwgInByZWZpeCI6ICJnbHlwaGljb24ifQogICAgICAgICAgICApOwogICAgICAgICAgICBtYXJrZXJfYjlkODhkODBhMzg3NGUxZmJmMjhmNGU5OWUwZjQ5NzUuc2V0SWNvbihpY29uX2E3MGM5YTJmNWI3NjQyM2JiNTMxNDgzYmViMTE2NGVlKTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBwb3B1cF9lNjI3YTU1MjM5MjI0ZDUyOWEzOWQzZjBmYWU0ZGYxNCA9IEwucG9wdXAoeyJtYXhXaWR0aCI6ICIxMDAlIn0pOwoKICAgICAgICAKICAgICAgICAgICAgdmFyIGh0bWxfYzE5Nzc5NWUzYjRjNDk1MmEyMjg5YjMxNDQ3MzRkZjIgPSAkKGA8ZGl2IGlkPSJodG1sX2MxOTc3OTVlM2I0YzQ5NTJhMjI4OWIzMTQ0NzM0ZGYyIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5ZZWFyOiAyMDExPGJyPk5hbWU6IEJ1bHVzYW48YnI+Q291bnRyeTogUGhpbGlwcGluZXM8YnI+VHlwZTogU3RyYXRvdm9sY2Fubzxicj5Db29yZGluYXRlczogWzEyLjc3LCAxMjQuMDVdPC9kaXY+YClbMF07CiAgICAgICAgICAgIHBvcHVwX2U2MjdhNTUyMzkyMjRkNTI5YTM5ZDNmMGZhZTRkZjE0LnNldENvbnRlbnQoaHRtbF9jMTk3Nzk1ZTNiNGM0OTUyYTIyODliMzE0NDczNGRmMik7CiAgICAgICAgCgogICAgICAgIG1hcmtlcl9iOWQ4OGQ4MGEzODc0ZTFmYmYyOGY0ZTk5ZTBmNDk3NS5iaW5kUG9wdXAocG9wdXBfZTYyN2E1NTIzOTIyNGQ1MjlhMzlkM2YwZmFlNGRmMTQpCiAgICAgICAgOwoKICAgICAgICAKICAgIAogICAgCiAgICAgICAgICAgIHZhciBtYXJrZXJfYjFiNzRlZWU5OGMzNGZlN2IyNzI2MTFhNmM0ZTYwYzEgPSBMLm1hcmtlcigKICAgICAgICAgICAgICAgIFsyLjc4LCAxMjUuNDhdLAogICAgICAgICAgICAgICAge30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfY2RmMzJhZTBkZGZjNGYzOWIyMDc2M2Q5Y2VlMmE4NWUpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBpY29uX2RmZTg4YTk2Njk1YzRlNjQ5ODQzZTM5NDM2ZjRiNDQxID0gTC5Bd2Vzb21lTWFya2Vycy5pY29uKAogICAgICAgICAgICAgICAgeyJleHRyYUNsYXNzZXMiOiAiZmEtcm90YXRlLTAiLCAiaWNvbiI6ICJpbmZvLXNpZ24iLCAiaWNvbkNvbG9yIjogIndoaXRlIiwgIm1hcmtlckNvbG9yIjogImdyZWVuIiwgInByZWZpeCI6ICJnbHlwaGljb24ifQogICAgICAgICAgICApOwogICAgICAgICAgICBtYXJrZXJfYjFiNzRlZWU5OGMzNGZlN2IyNzI2MTFhNmM0ZTYwYzEuc2V0SWNvbihpY29uX2RmZTg4YTk2Njk1YzRlNjQ5ODQzZTM5NDM2ZjRiNDQxKTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBwb3B1cF85MjU0Y2Y0Y2RkMjI0Nzk2OWI4ZThkYzA1Yzg1ZDA3YiA9IEwucG9wdXAoeyJtYXhXaWR0aCI6ICIxMDAlIn0pOwoKICAgICAgICAKICAgICAgICAgICAgdmFyIGh0bWxfZTRmMWIzNzMxM2YzNDYwN2I5MjJkZWQ1NjVjZjRhMjcgPSAkKGA8ZGl2IGlkPSJodG1sX2U0ZjFiMzczMTNmMzQ2MDdiOTIyZGVkNTY1Y2Y0YTI3IiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5ZZWFyOiAyMDExPGJyPk5hbWU6IEthcmFuZ2V0YW5nIFtBcGkgU2lhdV08YnI+Q291bnRyeTogSW5kb25lc2lhPGJyPlR5cGU6IFN0cmF0b3ZvbGNhbm88YnI+Q29vcmRpbmF0ZXM6IFsyLjc4LCAxMjUuNDhdPC9kaXY+YClbMF07CiAgICAgICAgICAgIHBvcHVwXzkyNTRjZjRjZGQyMjQ3OTY5YjhlOGRjMDVjODVkMDdiLnNldENvbnRlbnQoaHRtbF9lNGYxYjM3MzEzZjM0NjA3YjkyMmRlZDU2NWNmNGEyNyk7CiAgICAgICAgCgogICAgICAgIG1hcmtlcl9iMWI3NGVlZTk4YzM0ZmU3YjI3MjYxMWE2YzRlNjBjMS5iaW5kUG9wdXAocG9wdXBfOTI1NGNmNGNkZDIyNDc5NjliOGU4ZGMwNWM4NWQwN2IpCiAgICAgICAgOwoKICAgICAgICAKICAgIAogICAgCiAgICAgICAgICAgIHZhciBtYXJrZXJfZGVkYjBmNTVlYWJiNDU3YTlhNzEyYjBiY2Q3NmRjMzkgPSBMLm1hcmtlcigKICAgICAgICAgICAgICAgIFstMS40NjY5OTk5OTk5OTk5OTk5LCAtNzguNDQyXSwKICAgICAgICAgICAgICAgIHt9CiAgICAgICAgICAgICkuYWRkVG8obWFwX2NkZjMyYWUwZGRmYzRmMzliMjA3NjNkOWNlZTJhODVlKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgaWNvbl9mZTFiZGNlMGY5N2E0NjAwYjc4YjBjZTkyMmViNTU3YiA9IEwuQXdlc29tZU1hcmtlcnMuaWNvbigKICAgICAgICAgICAgICAgIHsiZXh0cmFDbGFzc2VzIjogImZhLXJvdGF0ZS0wIiwgImljb24iOiAiaW5mby1zaWduIiwgImljb25Db2xvciI6ICJ3aGl0ZSIsICJtYXJrZXJDb2xvciI6ICJncmVlbiIsICJwcmVmaXgiOiAiZ2x5cGhpY29uIn0KICAgICAgICAgICAgKTsKICAgICAgICAgICAgbWFya2VyX2RlZGIwZjU1ZWFiYjQ1N2E5YTcxMmIwYmNkNzZkYzM5LnNldEljb24oaWNvbl9mZTFiZGNlMGY5N2E0NjAwYjc4YjBjZTkyMmViNTU3Yik7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgcG9wdXBfMTM3YzU4MzBkZjZhNDVhY2E5MzU2ODQ0NTAxZTUwMzUgPSBMLnBvcHVwKHsibWF4V2lkdGgiOiAiMTAwJSJ9KTsKCiAgICAgICAgCiAgICAgICAgICAgIHZhciBodG1sXzIwN2Y4M2RhYjM3OTRjNzM5NzA5YTczNDlkYmIwY2I1ID0gJChgPGRpdiBpZD0iaHRtbF8yMDdmODNkYWIzNzk0YzczOTcwOWE3MzQ5ZGJiMGNiNSIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+WWVhcjogMjAxMTxicj5OYW1lOiBUdW5ndXJhaHVhPGJyPkNvdW50cnk6IEVjdWFkb3I8YnI+VHlwZTogU3RyYXRvdm9sY2Fubzxicj5Db29yZGluYXRlczogWy0xLjQ2Njk5OTk5OTk5OTk5OTksIC03OC40NDJdPC9kaXY+YClbMF07CiAgICAgICAgICAgIHBvcHVwXzEzN2M1ODMwZGY2YTQ1YWNhOTM1Njg0NDUwMWU1MDM1LnNldENvbnRlbnQoaHRtbF8yMDdmODNkYWIzNzk0YzczOTcwOWE3MzQ5ZGJiMGNiNSk7CiAgICAgICAgCgogICAgICAgIG1hcmtlcl9kZWRiMGY1NWVhYmI0NTdhOWE3MTJiMGJjZDc2ZGMzOS5iaW5kUG9wdXAocG9wdXBfMTM3YzU4MzBkZjZhNDVhY2E5MzU2ODQ0NTAxZTUwMzUpCiAgICAgICAgOwoKICAgICAgICAKICAgIAogICAgCiAgICAgICAgICAgIHZhciBtYXJrZXJfMDFlOTkzZDI2NzdlNDA4Zjk3Y2ZmY2RiYmI4YTJjOTAgPSBMLm1hcmtlcigKICAgICAgICAgICAgICAgIFstNDAuNTksIC03Mi4xMTddLAogICAgICAgICAgICAgICAge30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfY2RmMzJhZTBkZGZjNGYzOWIyMDc2M2Q5Y2VlMmE4NWUpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBpY29uX2Q3NjRiZjQwYTEyOTQ4ZmVhMjExZmIzOTY5NThlOWJmID0gTC5Bd2Vzb21lTWFya2Vycy5pY29uKAogICAgICAgICAgICAgICAgeyJleHRyYUNsYXNzZXMiOiAiZmEtcm90YXRlLTAiLCAiaWNvbiI6ICJpbmZvLXNpZ24iLCAiaWNvbkNvbG9yIjogIndoaXRlIiwgIm1hcmtlckNvbG9yIjogImdyZWVuIiwgInByZWZpeCI6ICJnbHlwaGljb24ifQogICAgICAgICAgICApOwogICAgICAgICAgICBtYXJrZXJfMDFlOTkzZDI2NzdlNDA4Zjk3Y2ZmY2RiYmI4YTJjOTAuc2V0SWNvbihpY29uX2Q3NjRiZjQwYTEyOTQ4ZmVhMjExZmIzOTY5NThlOWJmKTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBwb3B1cF83YjI2ZDBkYzAwOWQ0YTA5YjdlZjA3NWZlNzRiNWVmNCA9IEwucG9wdXAoeyJtYXhXaWR0aCI6ICIxMDAlIn0pOwoKICAgICAgICAKICAgICAgICAgICAgdmFyIGh0bWxfYWQ1ZmE3ZmI3MTIxNGJiZmI5MWM0NmVkMTUwNGFmOTEgPSAkKGA8ZGl2IGlkPSJodG1sX2FkNWZhN2ZiNzEyMTRiYmZiOTFjNDZlZDE1MDRhZjkxIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5ZZWFyOiAyMDExPGJyPk5hbWU6IFB1eWVodWU8YnI+Q291bnRyeTogQ2hpbGU8YnI+VHlwZTogU3RyYXRvdm9sY2Fubzxicj5Db29yZGluYXRlczogWy00MC41OSwgLTcyLjExN108L2Rpdj5gKVswXTsKICAgICAgICAgICAgcG9wdXBfN2IyNmQwZGMwMDlkNGEwOWI3ZWYwNzVmZTc0YjVlZjQuc2V0Q29udGVudChodG1sX2FkNWZhN2ZiNzEyMTRiYmZiOTFjNDZlZDE1MDRhZjkxKTsKICAgICAgICAKCiAgICAgICAgbWFya2VyXzAxZTk5M2QyNjc3ZTQwOGY5N2NmZmNkYmJiOGEyYzkwLmJpbmRQb3B1cChwb3B1cF83YjI2ZDBkYzAwOWQ0YTA5YjdlZjA3NWZlNzRiNWVmNCkKICAgICAgICA7CgogICAgICAgIAogICAgCiAgICAKICAgICAgICAgICAgdmFyIG1hcmtlcl9hOGExOTNkY2UwNTk0NzEzODE0NTc1OGNjZTM5OTljZiA9IEwubWFya2VyKAogICAgICAgICAgICAgICAgWzEzLjM3LCA0MS43XSwKICAgICAgICAgICAgICAgIHt9CiAgICAgICAgICAgICkuYWRkVG8obWFwX2NkZjMyYWUwZGRmYzRmMzliMjA3NjNkOWNlZTJhODVlKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgaWNvbl81ZmZlMjZlNjg2Mzc0NDAxODVlNDkzYmExNTJhZmIwNCA9IEwuQXdlc29tZU1hcmtlcnMuaWNvbigKICAgICAgICAgICAgICAgIHsiZXh0cmFDbGFzc2VzIjogImZhLXJvdGF0ZS0wIiwgImljb24iOiAiaW5mby1zaWduIiwgImljb25Db2xvciI6ICJ3aGl0ZSIsICJtYXJrZXJDb2xvciI6ICJncmVlbiIsICJwcmVmaXgiOiAiZ2x5cGhpY29uIn0KICAgICAgICAgICAgKTsKICAgICAgICAgICAgbWFya2VyX2E4YTE5M2RjZTA1OTQ3MTM4MTQ1NzU4Y2NlMzk5OWNmLnNldEljb24oaWNvbl81ZmZlMjZlNjg2Mzc0NDAxODVlNDkzYmExNTJhZmIwNCk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgcG9wdXBfMjJjZGE1MjYyMDFlNDQwZDg2N2VkOTUyNTc3YzRlNDEgPSBMLnBvcHVwKHsibWF4V2lkdGgiOiAiMTAwJSJ9KTsKCiAgICAgICAgCiAgICAgICAgICAgIHZhciBodG1sXzUxN2EyYWUwY2U4NjRlZjA5NDg0ODk1NjZhNjVhOWEzID0gJChgPGRpdiBpZD0iaHRtbF81MTdhMmFlMGNlODY0ZWYwOTQ4NDg5NTY2YTY1YTlhMyIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+WWVhcjogMjAxMTxicj5OYW1lOiBOYWJybzxicj5Db3VudHJ5OiBFcml0cmVhPGJyPlR5cGU6IFN0cmF0b3ZvbGNhbm88YnI+Q29vcmRpbmF0ZXM6IFsxMy4zNywgNDEuN108L2Rpdj5gKVswXTsKICAgICAgICAgICAgcG9wdXBfMjJjZGE1MjYyMDFlNDQwZDg2N2VkOTUyNTc3YzRlNDEuc2V0Q29udGVudChodG1sXzUxN2EyYWUwY2U4NjRlZjA5NDg0ODk1NjZhNjVhOWEzKTsKICAgICAgICAKCiAgICAgICAgbWFya2VyX2E4YTE5M2RjZTA1OTQ3MTM4MTQ1NzU4Y2NlMzk5OWNmLmJpbmRQb3B1cChwb3B1cF8yMmNkYTUyNjIwMWU0NDBkODY3ZWQ5NTI1NzdjNGU0MSkKICAgICAgICA7CgogICAgICAgIAogICAgCiAgICAKICAgICAgICAgICAgdmFyIG1hcmtlcl9kNjg2ODA1NDllM2E0YjAwODExN2U2ZmVlYTQ5MjU3OCA9IEwubWFya2VyKAogICAgICAgICAgICAgICAgWzYzLjYzLCAtMTkuMDVdLAogICAgICAgICAgICAgICAge30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfY2RmMzJhZTBkZGZjNGYzOWIyMDc2M2Q5Y2VlMmE4NWUpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBpY29uX2I3M2VjMDhkNjFkMTQ3MGI4NzQwYjQ1NDBhZDI1N2M3ID0gTC5Bd2Vzb21lTWFya2Vycy5pY29uKAogICAgICAgICAgICAgICAgeyJleHRyYUNsYXNzZXMiOiAiZmEtcm90YXRlLTAiLCAiaWNvbiI6ICJpbmZvLXNpZ24iLCAiaWNvbkNvbG9yIjogIndoaXRlIiwgIm1hcmtlckNvbG9yIjogInB1cnBsZSIsICJwcmVmaXgiOiAiZ2x5cGhpY29uIn0KICAgICAgICAgICAgKTsKICAgICAgICAgICAgbWFya2VyX2Q2ODY4MDU0OWUzYTRiMDA4MTE3ZTZmZWVhNDkyNTc4LnNldEljb24oaWNvbl9iNzNlYzA4ZDYxZDE0NzBiODc0MGI0NTQwYWQyNTdjNyk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgcG9wdXBfOGFkODRhZDE2OTgyNDFiZThkNjdhZTgzNzM0ODBjNjkgPSBMLnBvcHVwKHsibWF4V2lkdGgiOiAiMTAwJSJ9KTsKCiAgICAgICAgCiAgICAgICAgICAgIHZhciBodG1sXzlkMDMzYzdkNjY4NDRjNDc5MTQwNWY2YWYzNTVkZmY1ID0gJChgPGRpdiBpZD0iaHRtbF85ZDAzM2M3ZDY2ODQ0YzQ3OTE0MDVmNmFmMzU1ZGZmNSIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+WWVhcjogMjAxMTxicj5OYW1lOiBLYXRsYTxicj5Db3VudHJ5OiBJY2VsYW5kPGJyPlR5cGU6IFN1YmdsYWNpYWwgdm9sY2Fubzxicj5Db29yZGluYXRlczogWzYzLjYzLCAtMTkuMDVdPC9kaXY+YClbMF07CiAgICAgICAgICAgIHBvcHVwXzhhZDg0YWQxNjk4MjQxYmU4ZDY3YWU4MzczNDgwYzY5LnNldENvbnRlbnQoaHRtbF85ZDAzM2M3ZDY2ODQ0YzQ3OTE0MDVmNmFmMzU1ZGZmNSk7CiAgICAgICAgCgogICAgICAgIG1hcmtlcl9kNjg2ODA1NDllM2E0YjAwODExN2U2ZmVlYTQ5MjU3OC5iaW5kUG9wdXAocG9wdXBfOGFkODRhZDE2OTgyNDFiZThkNjdhZTgzNzM0ODBjNjkpCiAgICAgICAgOwoKICAgICAgICAKICAgIAogICAgCiAgICAgICAgICAgIHZhciBtYXJrZXJfYmE4YzY2YTdkOTZmNDlmODkyMTdjMTQ3MjQ1NDMwMzUgPSBMLm1hcmtlcigKICAgICAgICAgICAgICAgIFsxLjM1OCwgMTI0Ljc5Ml0sCiAgICAgICAgICAgICAgICB7fQogICAgICAgICAgICApLmFkZFRvKG1hcF9jZGYzMmFlMGRkZmM0ZjM5YjIwNzYzZDljZWUyYTg1ZSk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGljb25fNTk3Zjc0ODNjNTRlNDhjNGI1ZjhmMmNkYjIyODBiMDQgPSBMLkF3ZXNvbWVNYXJrZXJzLmljb24oCiAgICAgICAgICAgICAgICB7ImV4dHJhQ2xhc3NlcyI6ICJmYS1yb3RhdGUtMCIsICJpY29uIjogImluZm8tc2lnbiIsICJpY29uQ29sb3IiOiAid2hpdGUiLCAibWFya2VyQ29sb3IiOiAiZ3JlZW4iLCAicHJlZml4IjogImdseXBoaWNvbiJ9CiAgICAgICAgICAgICk7CiAgICAgICAgICAgIG1hcmtlcl9iYThjNjZhN2Q5NmY0OWY4OTIxN2MxNDcyNDU0MzAzNS5zZXRJY29uKGljb25fNTk3Zjc0ODNjNTRlNDhjNGI1ZjhmMmNkYjIyODBiMDQpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIHBvcHVwXzAxZjlhMTM4NjA4YjQ0ZDBiZTc3OGY0ZDY0MjUyN2QyID0gTC5wb3B1cCh7Im1heFdpZHRoIjogIjEwMCUifSk7CgogICAgICAgIAogICAgICAgICAgICB2YXIgaHRtbF8wZTI1NDk1NTBhZjg0YzcxYjllMzVhZDRlNDAwMWFkZSA9ICQoYDxkaXYgaWQ9Imh0bWxfMGUyNTQ5NTUwYWY4NGM3MWI5ZTM1YWQ0ZTQwMDFhZGUiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPlllYXI6IDIwMTE8YnI+TmFtZTogTG9rb24tRW1wdW5nPGJyPkNvdW50cnk6IEluZG9uZXNpYTxicj5UeXBlOiBTdHJhdG92b2xjYW5vPGJyPkNvb3JkaW5hdGVzOiBbMS4zNTgsIDEyNC43OTJdPC9kaXY+YClbMF07CiAgICAgICAgICAgIHBvcHVwXzAxZjlhMTM4NjA4YjQ0ZDBiZTc3OGY0ZDY0MjUyN2QyLnNldENvbnRlbnQoaHRtbF8wZTI1NDk1NTBhZjg0YzcxYjllMzVhZDRlNDAwMWFkZSk7CiAgICAgICAgCgogICAgICAgIG1hcmtlcl9iYThjNjZhN2Q5NmY0OWY4OTIxN2MxNDcyNDU0MzAzNS5iaW5kUG9wdXAocG9wdXBfMDFmOWExMzg2MDhiNDRkMGJlNzc4ZjRkNjQyNTI3ZDIpCiAgICAgICAgOwoKICAgICAgICAKICAgIAogICAgCiAgICAgICAgICAgIHZhciBtYXJrZXJfZmU2YzlkOWRhOTdkNGNiOWJkYTA3NjgyMGVkM2ZkNGMgPSBMLm1hcmtlcigKICAgICAgICAgICAgICAgIFswLjgsIDEyNy4zMjVdLAogICAgICAgICAgICAgICAge30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfY2RmMzJhZTBkZGZjNGYzOWIyMDc2M2Q5Y2VlMmE4NWUpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBpY29uX2NhNWY4MzEzYjUzZTRiZjc4MjQzYjAwYWJmYTZjNjA0ID0gTC5Bd2Vzb21lTWFya2Vycy5pY29uKAogICAgICAgICAgICAgICAgeyJleHRyYUNsYXNzZXMiOiAiZmEtcm90YXRlLTAiLCAiaWNvbiI6ICJpbmZvLXNpZ24iLCAiaWNvbkNvbG9yIjogIndoaXRlIiwgIm1hcmtlckNvbG9yIjogImdyZWVuIiwgInByZWZpeCI6ICJnbHlwaGljb24ifQogICAgICAgICAgICApOwogICAgICAgICAgICBtYXJrZXJfZmU2YzlkOWRhOTdkNGNiOWJkYTA3NjgyMGVkM2ZkNGMuc2V0SWNvbihpY29uX2NhNWY4MzEzYjUzZTRiZjc4MjQzYjAwYWJmYTZjNjA0KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBwb3B1cF8wOGI2YTBmMGJhOWY0YWM0YjIyYmJmYWFjNWIwYTYxNCA9IEwucG9wdXAoeyJtYXhXaWR0aCI6ICIxMDAlIn0pOwoKICAgICAgICAKICAgICAgICAgICAgdmFyIGh0bWxfYmY2ZDEwODlhZjY0NDc3MGEyYzEzOTY0ODk1YTAyNGIgPSAkKGA8ZGl2IGlkPSJodG1sX2JmNmQxMDg5YWY2NDQ3NzBhMmMxMzk2NDg5NWEwMjRiIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5ZZWFyOiAyMDExPGJyPk5hbWU6IEdhbWFsYW1hPGJyPkNvdW50cnk6IEluZG9uZXNpYTxicj5UeXBlOiBTdHJhdG92b2xjYW5vPGJyPkNvb3JkaW5hdGVzOiBbMC44LCAxMjcuMzI1XTwvZGl2PmApWzBdOwogICAgICAgICAgICBwb3B1cF8wOGI2YTBmMGJhOWY0YWM0YjIyYmJmYWFjNWIwYTYxNC5zZXRDb250ZW50KGh0bWxfYmY2ZDEwODlhZjY0NDc3MGEyYzEzOTY0ODk1YTAyNGIpOwogICAgICAgIAoKICAgICAgICBtYXJrZXJfZmU2YzlkOWRhOTdkNGNiOWJkYTA3NjgyMGVkM2ZkNGMuYmluZFBvcHVwKHBvcHVwXzA4YjZhMGYwYmE5ZjRhYzRiMjJiYmZhYWM1YjBhNjE0KQogICAgICAgIDsKCiAgICAgICAgCiAgICAKICAgIAogICAgICAgICAgICB2YXIgbWFya2VyXzZmY2MzYzBjYzg5NDQwMjJhZjQ5NWE0ZjFmOWE3MGJhID0gTC5tYXJrZXIoCiAgICAgICAgICAgICAgICBbMTkuNDI1LCAtMTU1LjI5Ml0sCiAgICAgICAgICAgICAgICB7fQogICAgICAgICAgICApLmFkZFRvKG1hcF9jZGYzMmFlMGRkZmM0ZjM5YjIwNzYzZDljZWUyYTg1ZSk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGljb25fODE2OGViNmJlYjljNDhkNzlmYmNmN2YwNjBhYjZiMjAgPSBMLkF3ZXNvbWVNYXJrZXJzLmljb24oCiAgICAgICAgICAgICAgICB7ImV4dHJhQ2xhc3NlcyI6ICJmYS1yb3RhdGUtMCIsICJpY29uIjogImluZm8tc2lnbiIsICJpY29uQ29sb3IiOiAid2hpdGUiLCAibWFya2VyQ29sb3IiOiAib3JhbmdlIiwgInByZWZpeCI6ICJnbHlwaGljb24ifQogICAgICAgICAgICApOwogICAgICAgICAgICBtYXJrZXJfNmZjYzNjMGNjODk0NDAyMmFmNDk1YTRmMWY5YTcwYmEuc2V0SWNvbihpY29uXzgxNjhlYjZiZWI5YzQ4ZDc5ZmJjZjdmMDYwYWI2YjIwKTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBwb3B1cF8xNWFjNzc0MzMyMWU0MGMyOTJjNDM5MTQ2NDdkOWE1MyA9IEwucG9wdXAoeyJtYXhXaWR0aCI6ICIxMDAlIn0pOwoKICAgICAgICAKICAgICAgICAgICAgdmFyIGh0bWxfMmFlMDIwZTg4MzJiNDM2ZTg1NGQ2OTVkZWUxZWM2YzEgPSAkKGA8ZGl2IGlkPSJodG1sXzJhZTAyMGU4ODMyYjQzNmU4NTRkNjk1ZGVlMWVjNmMxIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5ZZWFyOiAyMDEyPGJyPk5hbWU6IEtpbGF1ZWE8YnI+Q291bnRyeTogVW5pdGVkIFN0YXRlczxicj5UeXBlOiBTaGllbGQgdm9sY2Fubzxicj5Db29yZGluYXRlczogWzE5LjQyNSwgLTE1NS4yOTJdPC9kaXY+YClbMF07CiAgICAgICAgICAgIHBvcHVwXzE1YWM3NzQzMzIxZTQwYzI5MmM0MzkxNDY0N2Q5YTUzLnNldENvbnRlbnQoaHRtbF8yYWUwMjBlODgzMmI0MzZlODU0ZDY5NWRlZTFlYzZjMSk7CiAgICAgICAgCgogICAgICAgIG1hcmtlcl82ZmNjM2MwY2M4OTQ0MDIyYWY0OTVhNGYxZjlhNzBiYS5iaW5kUG9wdXAocG9wdXBfMTVhYzc3NDMzMjFlNDBjMjkyYzQzOTE0NjQ3ZDlhNTMpCiAgICAgICAgOwoKICAgICAgICAKICAgIAogICAgCiAgICAgICAgICAgIHZhciBtYXJrZXJfZWEwZTJmMzY2ZjVhNDNhMjg5ZDIyODUwZTcwYzM4OWIgPSBMLm1hcmtlcigKICAgICAgICAgICAgICAgIFsxOS40MjUsIC0xNTUuMjkyXSwKICAgICAgICAgICAgICAgIHt9CiAgICAgICAgICAgICkuYWRkVG8obWFwX2NkZjMyYWUwZGRmYzRmMzliMjA3NjNkOWNlZTJhODVlKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgaWNvbl84MTk1ZjUzZDZmYzE0ZDBiYTA2NTE3MGQ2OTkyNzRkMyA9IEwuQXdlc29tZU1hcmtlcnMuaWNvbigKICAgICAgICAgICAgICAgIHsiZXh0cmFDbGFzc2VzIjogImZhLXJvdGF0ZS0wIiwgImljb24iOiAiaW5mby1zaWduIiwgImljb25Db2xvciI6ICJ3aGl0ZSIsICJtYXJrZXJDb2xvciI6ICJvcmFuZ2UiLCAicHJlZml4IjogImdseXBoaWNvbiJ9CiAgICAgICAgICAgICk7CiAgICAgICAgICAgIG1hcmtlcl9lYTBlMmYzNjZmNWE0M2EyODlkMjI4NTBlNzBjMzg5Yi5zZXRJY29uKGljb25fODE5NWY1M2Q2ZmMxNGQwYmEwNjUxNzBkNjk5Mjc0ZDMpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIHBvcHVwXzJmNzM2NjgwMzI0MDQzNDY5MGNkZWQzNDhjZGUwYjIxID0gTC5wb3B1cCh7Im1heFdpZHRoIjogIjEwMCUifSk7CgogICAgICAgIAogICAgICAgICAgICB2YXIgaHRtbF9iNDBkZjg5ZWY4NDg0NWNkOWUxMDYxOWQzNGZiZjc1NCA9ICQoYDxkaXYgaWQ9Imh0bWxfYjQwZGY4OWVmODQ4NDVjZDllMTA2MTlkMzRmYmY3NTQiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPlllYXI6IDIwMTI8YnI+TmFtZTogS2lsYXVlYTxicj5Db3VudHJ5OiBVbml0ZWQgU3RhdGVzPGJyPlR5cGU6IFNoaWVsZCB2b2xjYW5vPGJyPkNvb3JkaW5hdGVzOiBbMTkuNDI1LCAtMTU1LjI5Ml08L2Rpdj5gKVswXTsKICAgICAgICAgICAgcG9wdXBfMmY3MzY2ODAzMjQwNDM0NjkwY2RlZDM0OGNkZTBiMjEuc2V0Q29udGVudChodG1sX2I0MGRmODllZjg0ODQ1Y2Q5ZTEwNjE5ZDM0ZmJmNzU0KTsKICAgICAgICAKCiAgICAgICAgbWFya2VyX2VhMGUyZjM2NmY1YTQzYTI4OWQyMjg1MGU3MGMzODliLmJpbmRQb3B1cChwb3B1cF8yZjczNjY4MDMyNDA0MzQ2OTBjZGVkMzQ4Y2RlMGIyMSkKICAgICAgICA7CgogICAgICAgIAogICAgCiAgICAKICAgICAgICAgICAgdmFyIG1hcmtlcl8xMzViYWUzNThmMzM0OWFjODA2MGZkNTZkMzZkYTI0YiA9IEwubWFya2VyKAogICAgICAgICAgICAgICAgWzU1LjgzLCAxNjAuMzNdLAogICAgICAgICAgICAgICAge30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfY2RmMzJhZTBkZGZjNGYzOWIyMDc2M2Q5Y2VlMmE4NWUpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBpY29uXzVjZWU4NjU1ZWJiZDQyNmI4NDRkYWYzMTczMmI1OWQ1ID0gTC5Bd2Vzb21lTWFya2Vycy5pY29uKAogICAgICAgICAgICAgICAgeyJleHRyYUNsYXNzZXMiOiAiZmEtcm90YXRlLTAiLCAiaWNvbiI6ICJpbmZvLXNpZ24iLCAiaWNvbkNvbG9yIjogIndoaXRlIiwgIm1hcmtlckNvbG9yIjogIm9yYW5nZSIsICJwcmVmaXgiOiAiZ2x5cGhpY29uIn0KICAgICAgICAgICAgKTsKICAgICAgICAgICAgbWFya2VyXzEzNWJhZTM1OGYzMzQ5YWM4MDYwZmQ1NmQzNmRhMjRiLnNldEljb24oaWNvbl81Y2VlODY1NWViYmQ0MjZiODQ0ZGFmMzE3MzJiNTlkNSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgcG9wdXBfNTQxMjY1YjYxZWVmNGM3Y2E1MTVkOWZhZDMxYTUyNTUgPSBMLnBvcHVwKHsibWF4V2lkdGgiOiAiMTAwJSJ9KTsKCiAgICAgICAgCiAgICAgICAgICAgIHZhciBodG1sXzEwZmM0ZGQ3NTUzYzQxMTdhN2FkNDljYmY2OGM5ZDU0ID0gJChgPGRpdiBpZD0iaHRtbF8xMGZjNGRkNzU1M2M0MTE3YTdhZDQ5Y2JmNjhjOWQ1NCIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+WWVhcjogMjAxMjxicj5OYW1lOiBUb2xiYWNoaWs8YnI+Q291bnRyeTogUnVzc2lhPGJyPlR5cGU6IFNoaWVsZCB2b2xjYW5vPGJyPkNvb3JkaW5hdGVzOiBbNTUuODMsIDE2MC4zM108L2Rpdj5gKVswXTsKICAgICAgICAgICAgcG9wdXBfNTQxMjY1YjYxZWVmNGM3Y2E1MTVkOWZhZDMxYTUyNTUuc2V0Q29udGVudChodG1sXzEwZmM0ZGQ3NTUzYzQxMTdhN2FkNDljYmY2OGM5ZDU0KTsKICAgICAgICAKCiAgICAgICAgbWFya2VyXzEzNWJhZTM1OGYzMzQ5YWM4MDYwZmQ1NmQzNmRhMjRiLmJpbmRQb3B1cChwb3B1cF81NDEyNjViNjFlZWY0YzdjYTUxNWQ5ZmFkMzFhNTI1NSkKICAgICAgICA7CgogICAgICAgIAogICAgCiAgICAKICAgICAgICAgICAgdmFyIG1hcmtlcl82N2VkYWFlMzFmMWY0ZDVlODM4NzNjZDBiYTU1M2Q0NCA9IEwubWFya2VyKAogICAgICAgICAgICAgICAgWy03LjU0MjAwMDAwMDAwMDAwMSwgMTEwLjQ0MjAwMDAwMDAwMDAxXSwKICAgICAgICAgICAgICAgIHt9CiAgICAgICAgICAgICkuYWRkVG8obWFwX2NkZjMyYWUwZGRmYzRmMzliMjA3NjNkOWNlZTJhODVlKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgaWNvbl80NDdlZDdjYWQ5ZTc0ZDE1OWZjMWQ4MWUzNTExZTVmZCA9IEwuQXdlc29tZU1hcmtlcnMuaWNvbigKICAgICAgICAgICAgICAgIHsiZXh0cmFDbGFzc2VzIjogImZhLXJvdGF0ZS0wIiwgImljb24iOiAiaW5mby1zaWduIiwgImljb25Db2xvciI6ICJ3aGl0ZSIsICJtYXJrZXJDb2xvciI6ICJncmVlbiIsICJwcmVmaXgiOiAiZ2x5cGhpY29uIn0KICAgICAgICAgICAgKTsKICAgICAgICAgICAgbWFya2VyXzY3ZWRhYWUzMWYxZjRkNWU4Mzg3M2NkMGJhNTUzZDQ0LnNldEljb24oaWNvbl80NDdlZDdjYWQ5ZTc0ZDE1OWZjMWQ4MWUzNTExZTVmZCk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgcG9wdXBfZDNlYWVmY2UxMjM0NDZkYzg5MzlhMjMzYWFiNGZhNDUgPSBMLnBvcHVwKHsibWF4V2lkdGgiOiAiMTAwJSJ9KTsKCiAgICAgICAgCiAgICAgICAgICAgIHZhciBodG1sXzBhNWM3ZDY1Mzc2YTRmNTlhNTNlODVmNzhiYThlNmNlID0gJChgPGRpdiBpZD0iaHRtbF8wYTVjN2Q2NTM3NmE0ZjU5YTUzZTg1Zjc4YmE4ZTZjZSIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+WWVhcjogMjAxMzxicj5OYW1lOiBNZXJhcGk8YnI+Q291bnRyeTogSW5kb25lc2lhPGJyPlR5cGU6IFN0cmF0b3ZvbGNhbm88YnI+Q29vcmRpbmF0ZXM6IFstNy41NDIwMDAwMDAwMDAwMDEsIDExMC40NDIwMDAwMDAwMDAwMV08L2Rpdj5gKVswXTsKICAgICAgICAgICAgcG9wdXBfZDNlYWVmY2UxMjM0NDZkYzg5MzlhMjMzYWFiNGZhNDUuc2V0Q29udGVudChodG1sXzBhNWM3ZDY1Mzc2YTRmNTlhNTNlODVmNzhiYThlNmNlKTsKICAgICAgICAKCiAgICAgICAgbWFya2VyXzY3ZWRhYWUzMWYxZjRkNWU4Mzg3M2NkMGJhNTUzZDQ0LmJpbmRQb3B1cChwb3B1cF9kM2VhZWZjZTEyMzQ0NmRjODkzOWEyMzNhYWI0ZmE0NSkKICAgICAgICA7CgogICAgICAgIAogICAgCiAgICAKICAgICAgICAgICAgdmFyIG1hcmtlcl81NDRhZGNhMTk0ZTk0MmQ5YWZlODg2NWFlY2VmN2MwNyA9IEwubWFya2VyKAogICAgICAgICAgICAgICAgWy04LjMyLCAxMjEuNzA4XSwKICAgICAgICAgICAgICAgIHt9CiAgICAgICAgICAgICkuYWRkVG8obWFwX2NkZjMyYWUwZGRmYzRmMzliMjA3NjNkOWNlZTJhODVlKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgaWNvbl9lMzgwYzI1ZDNjNjA0YTFmOTMwZDg2ODIxZGRhNWNhNiA9IEwuQXdlc29tZU1hcmtlcnMuaWNvbigKICAgICAgICAgICAgICAgIHsiZXh0cmFDbGFzc2VzIjogImZhLXJvdGF0ZS0wIiwgImljb24iOiAiaW5mby1zaWduIiwgImljb25Db2xvciI6ICJ3aGl0ZSIsICJtYXJrZXJDb2xvciI6ICJncmVlbiIsICJwcmVmaXgiOiAiZ2x5cGhpY29uIn0KICAgICAgICAgICAgKTsKICAgICAgICAgICAgbWFya2VyXzU0NGFkY2ExOTRlOTQyZDlhZmU4ODY1YWVjZWY3YzA3LnNldEljb24oaWNvbl9lMzgwYzI1ZDNjNjA0YTFmOTMwZDg2ODIxZGRhNWNhNik7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgcG9wdXBfZDFkOGI2NDIxOGVmNGZjYzg4ZWVmYTY4MDVmMjMzN2EgPSBMLnBvcHVwKHsibWF4V2lkdGgiOiAiMTAwJSJ9KTsKCiAgICAgICAgCiAgICAgICAgICAgIHZhciBodG1sXzc5M2RhMTA4MTlhODQ3MjY4ZDg5NWFlY2EyYzhhNmRmID0gJChgPGRpdiBpZD0iaHRtbF83OTNkYTEwODE5YTg0NzI2OGQ4OTVhZWNhMmM4YTZkZiIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+WWVhcjogMjAxMzxicj5OYW1lOiBQYWx1d2VoPGJyPkNvdW50cnk6IEluZG9uZXNpYTxicj5UeXBlOiBTdHJhdG92b2xjYW5vPGJyPkNvb3JkaW5hdGVzOiBbLTguMzIsIDEyMS43MDhdPC9kaXY+YClbMF07CiAgICAgICAgICAgIHBvcHVwX2QxZDhiNjQyMThlZjRmY2M4OGVlZmE2ODA1ZjIzMzdhLnNldENvbnRlbnQoaHRtbF83OTNkYTEwODE5YTg0NzI2OGQ4OTVhZWNhMmM4YTZkZik7CiAgICAgICAgCgogICAgICAgIG1hcmtlcl81NDRhZGNhMTk0ZTk0MmQ5YWZlODg2NWFlY2VmN2MwNy5iaW5kUG9wdXAocG9wdXBfZDFkOGI2NDIxOGVmNGZjYzg4ZWVmYTY4MDVmMjMzN2EpCiAgICAgICAgOwoKICAgICAgICAKICAgIAogICAgCiAgICAgICAgICAgIHZhciBtYXJrZXJfYzhjODhlYzk3YzQ0NGMwY2I2N2VlODgzMWUzNGMzY2QgPSBMLm1hcmtlcigKICAgICAgICAgICAgICAgIFsxMy4yNTcsIDEyMy42ODVdLAogICAgICAgICAgICAgICAge30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfY2RmMzJhZTBkZGZjNGYzOWIyMDc2M2Q5Y2VlMmE4NWUpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBpY29uX2MyNmVlZmVkOGQwMTQ5MGY5NmIzYTJiZjlhYjJlY2UyID0gTC5Bd2Vzb21lTWFya2Vycy5pY29uKAogICAgICAgICAgICAgICAgeyJleHRyYUNsYXNzZXMiOiAiZmEtcm90YXRlLTAiLCAiaWNvbiI6ICJpbmZvLXNpZ24iLCAiaWNvbkNvbG9yIjogIndoaXRlIiwgIm1hcmtlckNvbG9yIjogImdyZWVuIiwgInByZWZpeCI6ICJnbHlwaGljb24ifQogICAgICAgICAgICApOwogICAgICAgICAgICBtYXJrZXJfYzhjODhlYzk3YzQ0NGMwY2I2N2VlODgzMWUzNGMzY2Quc2V0SWNvbihpY29uX2MyNmVlZmVkOGQwMTQ5MGY5NmIzYTJiZjlhYjJlY2UyKTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBwb3B1cF9iMjk4NTc2NjcwNWI0MDhjODEyNDU3MzZkMGM3ZmVhZCA9IEwucG9wdXAoeyJtYXhXaWR0aCI6ICIxMDAlIn0pOwoKICAgICAgICAKICAgICAgICAgICAgdmFyIGh0bWxfZWNiMmQ3ZDA3YzA5NGQxNTg0MzIwZGY3MjZkYzE2ODIgPSAkKGA8ZGl2IGlkPSJodG1sX2VjYjJkN2QwN2MwOTRkMTU4NDMyMGRmNzI2ZGMxNjgyIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5ZZWFyOiAyMDEzPGJyPk5hbWU6IE1heW9uPGJyPkNvdW50cnk6IFBoaWxpcHBpbmVzPGJyPlR5cGU6IFN0cmF0b3ZvbGNhbm88YnI+Q29vcmRpbmF0ZXM6IFsxMy4yNTcsIDEyMy42ODVdPC9kaXY+YClbMF07CiAgICAgICAgICAgIHBvcHVwX2IyOTg1NzY2NzA1YjQwOGM4MTI0NTczNmQwYzdmZWFkLnNldENvbnRlbnQoaHRtbF9lY2IyZDdkMDdjMDk0ZDE1ODQzMjBkZjcyNmRjMTY4Mik7CiAgICAgICAgCgogICAgICAgIG1hcmtlcl9jOGM4OGVjOTdjNDQ0YzBjYjY3ZWU4ODMxZTM0YzNjZC5iaW5kUG9wdXAocG9wdXBfYjI5ODU3NjY3MDViNDA4YzgxMjQ1NzM2ZDBjN2ZlYWQpCiAgICAgICAgOwoKICAgICAgICAKICAgIAogICAgCiAgICAgICAgICAgIHZhciBtYXJrZXJfNDYxYWE5MDhiYWYyNGRlZThmN2JkNzI4NTRkN2MyYzIgPSBMLm1hcmtlcigKICAgICAgICAgICAgICAgIFstOC4zMiwgMTIxLjcwOF0sCiAgICAgICAgICAgICAgICB7fQogICAgICAgICAgICApLmFkZFRvKG1hcF9jZGYzMmFlMGRkZmM0ZjM5YjIwNzYzZDljZWUyYTg1ZSk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGljb25fMjhkZTgwOGFiZWEzNGQzYzk3OWMyY2RhZjUxNGI1NWEgPSBMLkF3ZXNvbWVNYXJrZXJzLmljb24oCiAgICAgICAgICAgICAgICB7ImV4dHJhQ2xhc3NlcyI6ICJmYS1yb3RhdGUtMCIsICJpY29uIjogImluZm8tc2lnbiIsICJpY29uQ29sb3IiOiAid2hpdGUiLCAibWFya2VyQ29sb3IiOiAiZ3JlZW4iLCAicHJlZml4IjogImdseXBoaWNvbiJ9CiAgICAgICAgICAgICk7CiAgICAgICAgICAgIG1hcmtlcl80NjFhYTkwOGJhZjI0ZGVlOGY3YmQ3Mjg1NGQ3YzJjMi5zZXRJY29uKGljb25fMjhkZTgwOGFiZWEzNGQzYzk3OWMyY2RhZjUxNGI1NWEpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIHBvcHVwX2NlZWVmZWFkZTg0OTRiYWNiNzBhNjE4ZjNjNDY3NmZhID0gTC5wb3B1cCh7Im1heFdpZHRoIjogIjEwMCUifSk7CgogICAgICAgIAogICAgICAgICAgICB2YXIgaHRtbF82NmY0ZDEwNTlmMDg0ZDQ1ODEzYTk1OWUyYzQ0NTU4MiA9ICQoYDxkaXYgaWQ9Imh0bWxfNjZmNGQxMDU5ZjA4NGQ0NTgxM2E5NTllMmM0NDU1ODIiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPlllYXI6IDIwMTM8YnI+TmFtZTogUGFsdXdlaDxicj5Db3VudHJ5OiBJbmRvbmVzaWE8YnI+VHlwZTogU3RyYXRvdm9sY2Fubzxicj5Db29yZGluYXRlczogWy04LjMyLCAxMjEuNzA4XTwvZGl2PmApWzBdOwogICAgICAgICAgICBwb3B1cF9jZWVlZmVhZGU4NDk0YmFjYjcwYTYxOGYzYzQ2NzZmYS5zZXRDb250ZW50KGh0bWxfNjZmNGQxMDU5ZjA4NGQ0NTgxM2E5NTllMmM0NDU1ODIpOwogICAgICAgIAoKICAgICAgICBtYXJrZXJfNDYxYWE5MDhiYWYyNGRlZThmN2JkNzI4NTRkN2MyYzIuYmluZFBvcHVwKHBvcHVwX2NlZWVmZWFkZTg0OTRiYWNiNzBhNjE4ZjNjNDY3NmZhKQogICAgICAgIDsKCiAgICAgICAgCiAgICAKICAgIAogICAgICAgICAgICB2YXIgbWFya2VyX2IzZTZmYTBkMjgzNDQ1YTM4ZGEzN2JkZWVhYTJkNDQwID0gTC5tYXJrZXIoCiAgICAgICAgICAgICAgICBbLTE2LjM1NSwgLTcwLjkwM10sCiAgICAgICAgICAgICAgICB7fQogICAgICAgICAgICApLmFkZFRvKG1hcF9jZGYzMmFlMGRkZmM0ZjM5YjIwNzYzZDljZWUyYTg1ZSk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGljb25fOTBlYWRjMmRhNWM4NDUxMWFmODdlZDRmYjAzMTE2OTEgPSBMLkF3ZXNvbWVNYXJrZXJzLmljb24oCiAgICAgICAgICAgICAgICB7ImV4dHJhQ2xhc3NlcyI6ICJmYS1yb3RhdGUtMCIsICJpY29uIjogImluZm8tc2lnbiIsICJpY29uQ29sb3IiOiAid2hpdGUiLCAibWFya2VyQ29sb3IiOiAiZ3JlZW4iLCAicHJlZml4IjogImdseXBoaWNvbiJ9CiAgICAgICAgICAgICk7CiAgICAgICAgICAgIG1hcmtlcl9iM2U2ZmEwZDI4MzQ0NWEzOGRhMzdiZGVlYWEyZDQ0MC5zZXRJY29uKGljb25fOTBlYWRjMmRhNWM4NDUxMWFmODdlZDRmYjAzMTE2OTEpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIHBvcHVwXzFlNWI0OTQ5OTE1NzQyOTc5ZTAxM2I1MDE2ZDVjYzc2ID0gTC5wb3B1cCh7Im1heFdpZHRoIjogIjEwMCUifSk7CgogICAgICAgIAogICAgICAgICAgICB2YXIgaHRtbF8zY2U3OTA2NjExNjk0MjgxYjk4Y2RjYzNjYWUxMTNiZiA9ICQoYDxkaXYgaWQ9Imh0bWxfM2NlNzkwNjYxMTY5NDI4MWI5OGNkY2MzY2FlMTEzYmYiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPlllYXI6IDIwMTM8YnI+TmFtZTogVWJpbmFzPGJyPkNvdW50cnk6IFBlcnU8YnI+VHlwZTogU3RyYXRvdm9sY2Fubzxicj5Db29yZGluYXRlczogWy0xNi4zNTUsIC03MC45MDNdPC9kaXY+YClbMF07CiAgICAgICAgICAgIHBvcHVwXzFlNWI0OTQ5OTE1NzQyOTc5ZTAxM2I1MDE2ZDVjYzc2LnNldENvbnRlbnQoaHRtbF8zY2U3OTA2NjExNjk0MjgxYjk4Y2RjYzNjYWUxMTNiZik7CiAgICAgICAgCgogICAgICAgIG1hcmtlcl9iM2U2ZmEwZDI4MzQ0NWEzOGRhMzdiZGVlYWEyZDQ0MC5iaW5kUG9wdXAocG9wdXBfMWU1YjQ5NDk5MTU3NDI5NzllMDEzYjUwMTZkNWNjNzYpCiAgICAgICAgOwoKICAgICAgICAKICAgIAogICAgCiAgICAgICAgICAgIHZhciBtYXJrZXJfMTAwMWM5OGNlYjg2NGZiMzgxYjY5NDk5YTc1NTIyYjMgPSBMLm1hcmtlcigKICAgICAgICAgICAgICAgIFszMS41OCwgMTMwLjY3XSwKICAgICAgICAgICAgICAgIHt9CiAgICAgICAgICAgICkuYWRkVG8obWFwX2NkZjMyYWUwZGRmYzRmMzliMjA3NjNkOWNlZTJhODVlKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgaWNvbl8xZWI2NjNjNTVmZTI0ZTViYTk4MWEzNDhiMjZjNDNiYyA9IEwuQXdlc29tZU1hcmtlcnMuaWNvbigKICAgICAgICAgICAgICAgIHsiZXh0cmFDbGFzc2VzIjogImZhLXJvdGF0ZS0wIiwgImljb24iOiAiaW5mby1zaWduIiwgImljb25Db2xvciI6ICJ3aGl0ZSIsICJtYXJrZXJDb2xvciI6ICJncmVlbiIsICJwcmVmaXgiOiAiZ2x5cGhpY29uIn0KICAgICAgICAgICAgKTsKICAgICAgICAgICAgbWFya2VyXzEwMDFjOThjZWI4NjRmYjM4MWI2OTQ5OWE3NTUyMmIzLnNldEljb24oaWNvbl8xZWI2NjNjNTVmZTI0ZTViYTk4MWEzNDhiMjZjNDNiYyk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgcG9wdXBfODMxM2Y3M2M5NTYyNGMyNmI3OTNjYWY2YzBkMGYyZmIgPSBMLnBvcHVwKHsibWF4V2lkdGgiOiAiMTAwJSJ9KTsKCiAgICAgICAgCiAgICAgICAgICAgIHZhciBodG1sXzQ1ZjQ4N2YzZjAxYTQ1OTM5ZjRkMDA4ODNmYTkzY2Y0ID0gJChgPGRpdiBpZD0iaHRtbF80NWY0ODdmM2YwMWE0NTkzOWY0ZDAwODgzZmE5M2NmNCIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+WWVhcjogMjAxMzxicj5OYW1lOiBTYWt1cmEtamltYTxicj5Db3VudHJ5OiBKYXBhbjxicj5UeXBlOiBTdHJhdG92b2xjYW5vPGJyPkNvb3JkaW5hdGVzOiBbMzEuNTgsIDEzMC42N108L2Rpdj5gKVswXTsKICAgICAgICAgICAgcG9wdXBfODMxM2Y3M2M5NTYyNGMyNmI3OTNjYWY2YzBkMGYyZmIuc2V0Q29udGVudChodG1sXzQ1ZjQ4N2YzZjAxYTQ1OTM5ZjRkMDA4ODNmYTkzY2Y0KTsKICAgICAgICAKCiAgICAgICAgbWFya2VyXzEwMDFjOThjZWI4NjRmYjM4MWI2OTQ5OWE3NTUyMmIzLmJpbmRQb3B1cChwb3B1cF84MzEzZjczYzk1NjI0YzI2Yjc5M2NhZjZjMGQwZjJmYikKICAgICAgICA7CgogICAgICAgIAogICAgCiAgICAKICAgICAgICAgICAgdmFyIG1hcmtlcl8yOTZkNmIwNjJlOTg0MGI1OTg5ZThlNTBjZGMyYmQ5NSA9IEwubWFya2VyKAogICAgICAgICAgICAgICAgWzMuMTcsIDk4LjM5MjAwMDAwMDAwMDAxXSwKICAgICAgICAgICAgICAgIHt9CiAgICAgICAgICAgICkuYWRkVG8obWFwX2NkZjMyYWUwZGRmYzRmMzliMjA3NjNkOWNlZTJhODVlKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgaWNvbl82ZTU4MDNiYTkyNGU0NjJiYmM4MzJiMWE1NDY3NDlhNyA9IEwuQXdlc29tZU1hcmtlcnMuaWNvbigKICAgICAgICAgICAgICAgIHsiZXh0cmFDbGFzc2VzIjogImZhLXJvdGF0ZS0wIiwgImljb24iOiAiaW5mby1zaWduIiwgImljb25Db2xvciI6ICJ3aGl0ZSIsICJtYXJrZXJDb2xvciI6ICJncmVlbiIsICJwcmVmaXgiOiAiZ2x5cGhpY29uIn0KICAgICAgICAgICAgKTsKICAgICAgICAgICAgbWFya2VyXzI5NmQ2YjA2MmU5ODQwYjU5ODllOGU1MGNkYzJiZDk1LnNldEljb24oaWNvbl82ZTU4MDNiYTkyNGU0NjJiYmM4MzJiMWE1NDY3NDlhNyk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgcG9wdXBfMGE2OWNhNzhjYWFlNGMwMjg3MGRlZjNlNmUwOTNmYWQgPSBMLnBvcHVwKHsibWF4V2lkdGgiOiAiMTAwJSJ9KTsKCiAgICAgICAgCiAgICAgICAgICAgIHZhciBodG1sX2UwZmNjOGUxNzY1MDQxNTg5ZDliMTUwZWU1MDEwMGE5ID0gJChgPGRpdiBpZD0iaHRtbF9lMGZjYzhlMTc2NTA0MTU4OWQ5YjE1MGVlNTAxMDBhOSIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+WWVhcjogMjAxMzxicj5OYW1lOiBTaW5hYnVuZzxicj5Db3VudHJ5OiBJbmRvbmVzaWE8YnI+VHlwZTogU3RyYXRvdm9sY2Fubzxicj5Db29yZGluYXRlczogWzMuMTcsIDk4LjM5MjAwMDAwMDAwMDAxXTwvZGl2PmApWzBdOwogICAgICAgICAgICBwb3B1cF8wYTY5Y2E3OGNhYWU0YzAyODcwZGVmM2U2ZTA5M2ZhZC5zZXRDb250ZW50KGh0bWxfZTBmY2M4ZTE3NjUwNDE1ODlkOWIxNTBlZTUwMTAwYTkpOwogICAgICAgIAoKICAgICAgICBtYXJrZXJfMjk2ZDZiMDYyZTk4NDBiNTk4OWU4ZTUwY2RjMmJkOTUuYmluZFBvcHVwKHBvcHVwXzBhNjljYTc4Y2FhZTRjMDI4NzBkZWYzZTZlMDkzZmFkKQogICAgICAgIDsKCiAgICAgICAgCiAgICAKICAgIAogICAgICAgICAgICB2YXIgbWFya2VyXzk3MjI1ODg5MDY4MzQwNTU5ZWUwYmQxMjEwNWRiYzMyID0gTC5tYXJrZXIoCiAgICAgICAgICAgICAgICBbLTM4LjEyLCAxNzYuNV0sCiAgICAgICAgICAgICAgICB7fQogICAgICAgICAgICApLmFkZFRvKG1hcF9jZGYzMmFlMGRkZmM0ZjM5YjIwNzYzZDljZWUyYTg1ZSk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGljb25fYmNkYTAwMGQ0YjcyNDE3Yjk0MDIxODhhMTM2MDM5NDAgPSBMLkF3ZXNvbWVNYXJrZXJzLmljb24oCiAgICAgICAgICAgICAgICB7ImV4dHJhQ2xhc3NlcyI6ICJmYS1yb3RhdGUtMCIsICJpY29uIjogImluZm8tc2lnbiIsICJpY29uQ29sb3IiOiAid2hpdGUiLCAibWFya2VyQ29sb3IiOiAicGluayIsICJwcmVmaXgiOiAiZ2x5cGhpY29uIn0KICAgICAgICAgICAgKTsKICAgICAgICAgICAgbWFya2VyXzk3MjI1ODg5MDY4MzQwNTU5ZWUwYmQxMjEwNWRiYzMyLnNldEljb24oaWNvbl9iY2RhMDAwZDRiNzI0MTdiOTQwMjE4OGExMzYwMzk0MCk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgcG9wdXBfYmI1YTI0ZTg3MjU1NGJjMGFkMjFlNDY1YjkxNzI4ZTYgPSBMLnBvcHVwKHsibWF4V2lkdGgiOiAiMTAwJSJ9KTsKCiAgICAgICAgCiAgICAgICAgICAgIHZhciBodG1sXzQxODJmMDIxOGUxZjRhZmQ5OWFiZjMxNTc4NzM3ZDUzID0gJChgPGRpdiBpZD0iaHRtbF80MTgyZjAyMThlMWY0YWZkOTlhYmYzMTU3ODczN2Q1MyIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+WWVhcjogMjAxMzxicj5OYW1lOiBPa2F0YWluYTxicj5Db3VudHJ5OiBOZXcgWmVhbGFuZDxicj5UeXBlOiBMYXZhIGRvbWU8YnI+Q29vcmRpbmF0ZXM6IFstMzguMTIsIDE3Ni41XTwvZGl2PmApWzBdOwogICAgICAgICAgICBwb3B1cF9iYjVhMjRlODcyNTU0YmMwYWQyMWU0NjViOTE3MjhlNi5zZXRDb250ZW50KGh0bWxfNDE4MmYwMjE4ZTFmNGFmZDk5YWJmMzE1Nzg3MzdkNTMpOwogICAgICAgIAoKICAgICAgICBtYXJrZXJfOTcyMjU4ODkwNjgzNDA1NTllZTBiZDEyMTA1ZGJjMzIuYmluZFBvcHVwKHBvcHVwX2JiNWEyNGU4NzI1NTRiYzBhZDIxZTQ2NWI5MTcyOGU2KQogICAgICAgIDsKCiAgICAgICAgCiAgICAKICAgIAogICAgICAgICAgICB2YXIgbWFya2VyXzI2MTgwNTQ1NzU1YTQyZjVhYjlmMzBmMTI4ZmRhYzI1ID0gTC5tYXJrZXIoCiAgICAgICAgICAgICAgICBbMy4xNywgOTguMzkyMDAwMDAwMDAwMDFdLAogICAgICAgICAgICAgICAge30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfY2RmMzJhZTBkZGZjNGYzOWIyMDc2M2Q5Y2VlMmE4NWUpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBpY29uX2Y0YjQyNGQyYzE4ZDQ3MzRiMjA2NWU4ZWRhODBhM2M3ID0gTC5Bd2Vzb21lTWFya2Vycy5pY29uKAogICAgICAgICAgICAgICAgeyJleHRyYUNsYXNzZXMiOiAiZmEtcm90YXRlLTAiLCAiaWNvbiI6ICJpbmZvLXNpZ24iLCAiaWNvbkNvbG9yIjogIndoaXRlIiwgIm1hcmtlckNvbG9yIjogImdyZWVuIiwgInByZWZpeCI6ICJnbHlwaGljb24ifQogICAgICAgICAgICApOwogICAgICAgICAgICBtYXJrZXJfMjYxODA1NDU3NTVhNDJmNWFiOWYzMGYxMjhmZGFjMjUuc2V0SWNvbihpY29uX2Y0YjQyNGQyYzE4ZDQ3MzRiMjA2NWU4ZWRhODBhM2M3KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBwb3B1cF85ZmZmM2JkNmEzZjc0NjhhOWMzODg5YzY2ZGU4NDAyNSA9IEwucG9wdXAoeyJtYXhXaWR0aCI6ICIxMDAlIn0pOwoKICAgICAgICAKICAgICAgICAgICAgdmFyIGh0bWxfN2I2YzdiNTY1YTcwNDllNmE0NjkzMjUzMzY4ODEzMjUgPSAkKGA8ZGl2IGlkPSJodG1sXzdiNmM3YjU2NWE3MDQ5ZTZhNDY5MzI1MzM2ODgxMzI1IiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5ZZWFyOiAyMDE0PGJyPk5hbWU6IFNpbmFidW5nPGJyPkNvdW50cnk6IEluZG9uZXNpYTxicj5UeXBlOiBTdHJhdG92b2xjYW5vPGJyPkNvb3JkaW5hdGVzOiBbMy4xNywgOTguMzkyMDAwMDAwMDAwMDFdPC9kaXY+YClbMF07CiAgICAgICAgICAgIHBvcHVwXzlmZmYzYmQ2YTNmNzQ2OGE5YzM4ODljNjZkZTg0MDI1LnNldENvbnRlbnQoaHRtbF83YjZjN2I1NjVhNzA0OWU2YTQ2OTMyNTMzNjg4MTMyNSk7CiAgICAgICAgCgogICAgICAgIG1hcmtlcl8yNjE4MDU0NTc1NWE0MmY1YWI5ZjMwZjEyOGZkYWMyNS5iaW5kUG9wdXAocG9wdXBfOWZmZjNiZDZhM2Y3NDY4YTljMzg4OWM2NmRlODQwMjUpCiAgICAgICAgOwoKICAgICAgICAKICAgIAogICAgCiAgICAgICAgICAgIHZhciBtYXJrZXJfMmM5OTVhZmYxNjE2NDhiMmFmYTYxOTRiNzg3Yjk4YjQgPSBMLm1hcmtlcigKICAgICAgICAgICAgICAgIFstNy45MywgMTEyLjMwNzk5OTk5OTk5OTk5XSwKICAgICAgICAgICAgICAgIHt9CiAgICAgICAgICAgICkuYWRkVG8obWFwX2NkZjMyYWUwZGRmYzRmMzliMjA3NjNkOWNlZTJhODVlKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgaWNvbl84MzkwOGJjMGJlYWM0Mjc2YjgxZWZjM2VkOGI5NjFmMSA9IEwuQXdlc29tZU1hcmtlcnMuaWNvbigKICAgICAgICAgICAgICAgIHsiZXh0cmFDbGFzc2VzIjogImZhLXJvdGF0ZS0wIiwgImljb24iOiAiaW5mby1zaWduIiwgImljb25Db2xvciI6ICJ3aGl0ZSIsICJtYXJrZXJDb2xvciI6ICJncmVlbiIsICJwcmVmaXgiOiAiZ2x5cGhpY29uIn0KICAgICAgICAgICAgKTsKICAgICAgICAgICAgbWFya2VyXzJjOTk1YWZmMTYxNjQ4YjJhZmE2MTk0Yjc4N2I5OGI0LnNldEljb24oaWNvbl84MzkwOGJjMGJlYWM0Mjc2YjgxZWZjM2VkOGI5NjFmMSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgcG9wdXBfMTVjM2ViNjU0M2IyNDA2ODhkMjE2MmRmZDg0MjhlZjEgPSBMLnBvcHVwKHsibWF4V2lkdGgiOiAiMTAwJSJ9KTsKCiAgICAgICAgCiAgICAgICAgICAgIHZhciBodG1sX2IwODgzZDU3NmJjMTQwZjQ5ZGM1Njg1NDY1Mjc5MjBiID0gJChgPGRpdiBpZD0iaHRtbF9iMDg4M2Q1NzZiYzE0MGY0OWRjNTY4NTQ2NTI3OTIwYiIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+WWVhcjogMjAxNDxicj5OYW1lOiBLZWx1dDxicj5Db3VudHJ5OiBJbmRvbmVzaWE8YnI+VHlwZTogU3RyYXRvdm9sY2Fubzxicj5Db29yZGluYXRlczogWy03LjkzLCAxMTIuMzA3OTk5OTk5OTk5OTldPC9kaXY+YClbMF07CiAgICAgICAgICAgIHBvcHVwXzE1YzNlYjY1NDNiMjQwNjg4ZDIxNjJkZmQ4NDI4ZWYxLnNldENvbnRlbnQoaHRtbF9iMDg4M2Q1NzZiYzE0MGY0OWRjNTY4NTQ2NTI3OTIwYik7CiAgICAgICAgCgogICAgICAgIG1hcmtlcl8yYzk5NWFmZjE2MTY0OGIyYWZhNjE5NGI3ODdiOThiNC5iaW5kUG9wdXAocG9wdXBfMTVjM2ViNjU0M2IyNDA2ODhkMjE2MmRmZDg0MjhlZjEpCiAgICAgICAgOwoKICAgICAgICAKICAgIAogICAgCiAgICAgICAgICAgIHZhciBtYXJrZXJfMTE0ZjA1MjJjMDM2NDFlODk0MWM1ZmQ2ZTcyZWRiODYgPSBMLm1hcmtlcigKICAgICAgICAgICAgICAgIFszNS45LCAxMzcuNDhdLAogICAgICAgICAgICAgICAge30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfY2RmMzJhZTBkZGZjNGYzOWIyMDc2M2Q5Y2VlMmE4NWUpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBpY29uXzhkODE5NjQ4NThmYzQ5OThhMzI3M2VmMzU5MmVkNmM4ID0gTC5Bd2Vzb21lTWFya2Vycy5pY29uKAogICAgICAgICAgICAgICAgeyJleHRyYUNsYXNzZXMiOiAiZmEtcm90YXRlLTAiLCAiaWNvbiI6ICJpbmZvLXNpZ24iLCAiaWNvbkNvbG9yIjogIndoaXRlIiwgIm1hcmtlckNvbG9yIjogImJsdWUiLCAicHJlZml4IjogImdseXBoaWNvbiJ9CiAgICAgICAgICAgICk7CiAgICAgICAgICAgIG1hcmtlcl8xMTRmMDUyMmMwMzY0MWU4OTQxYzVmZDZlNzJlZGI4Ni5zZXRJY29uKGljb25fOGQ4MTk2NDg1OGZjNDk5OGEzMjczZWYzNTkyZWQ2YzgpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIHBvcHVwXzQ2ZDNmNzEzZTgzZDRhZTNhYjZlZTg3MmY1YmQwOTRjID0gTC5wb3B1cCh7Im1heFdpZHRoIjogIjEwMCUifSk7CgogICAgICAgIAogICAgICAgICAgICB2YXIgaHRtbF9mZGEzNTQ5MTY0ZGQ0Y2IxYWIyZTQyOGI2MDFkMGVkNCA9ICQoYDxkaXYgaWQ9Imh0bWxfZmRhMzU0OTE2NGRkNGNiMWFiMmU0MjhiNjAxZDBlZDQiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPlllYXI6IDIwMTQ8YnI+TmFtZTogT24tdGFrZTxicj5Db3VudHJ5OiBKYXBhbjxicj5UeXBlOiBDb21wbGV4IHZvbGNhbm88YnI+Q29vcmRpbmF0ZXM6IFszNS45LCAxMzcuNDhdPC9kaXY+YClbMF07CiAgICAgICAgICAgIHBvcHVwXzQ2ZDNmNzEzZTgzZDRhZTNhYjZlZTg3MmY1YmQwOTRjLnNldENvbnRlbnQoaHRtbF9mZGEzNTQ5MTY0ZGQ0Y2IxYWIyZTQyOGI2MDFkMGVkNCk7CiAgICAgICAgCgogICAgICAgIG1hcmtlcl8xMTRmMDUyMmMwMzY0MWU4OTQxYzVmZDZlNzJlZGI4Ni5iaW5kUG9wdXAocG9wdXBfNDZkM2Y3MTNlODNkNGFlM2FiNmVlODcyZjViZDA5NGMpCiAgICAgICAgOwoKICAgICAgICAKICAgIAogICAgCiAgICAgICAgICAgIHZhciBtYXJrZXJfZjg4ZjFmYTY4ZWI1NDA5NGFmMjExY2FiZGM3ZmI0MzcgPSBMLm1hcmtlcigKICAgICAgICAgICAgICAgIFsxOS40MjUsIC0xNTUuMjkyXSwKICAgICAgICAgICAgICAgIHt9CiAgICAgICAgICAgICkuYWRkVG8obWFwX2NkZjMyYWUwZGRmYzRmMzliMjA3NjNkOWNlZTJhODVlKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgaWNvbl8wMzdhYjMyNWRkY2Y0NjgxYjdjNGMxNjJhZTA2MTJhNCA9IEwuQXdlc29tZU1hcmtlcnMuaWNvbigKICAgICAgICAgICAgICAgIHsiZXh0cmFDbGFzc2VzIjogImZhLXJvdGF0ZS0wIiwgImljb24iOiAiaW5mby1zaWduIiwgImljb25Db2xvciI6ICJ3aGl0ZSIsICJtYXJrZXJDb2xvciI6ICJvcmFuZ2UiLCAicHJlZml4IjogImdseXBoaWNvbiJ9CiAgICAgICAgICAgICk7CiAgICAgICAgICAgIG1hcmtlcl9mODhmMWZhNjhlYjU0MDk0YWYyMTFjYWJkYzdmYjQzNy5zZXRJY29uKGljb25fMDM3YWIzMjVkZGNmNDY4MWI3YzRjMTYyYWUwNjEyYTQpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIHBvcHVwX2ZkMmFlMzc0MDJhNzQzYWY5MTQ5YWRjODY3ZTRkYWU1ID0gTC5wb3B1cCh7Im1heFdpZHRoIjogIjEwMCUifSk7CgogICAgICAgIAogICAgICAgICAgICB2YXIgaHRtbF8xMDQ1Y2U5ZGFjYjE0YzJkYWMyZGFkZjlkOTVhZTc4ZCA9ICQoYDxkaXYgaWQ9Imh0bWxfMTA0NWNlOWRhY2IxNGMyZGFjMmRhZGY5ZDk1YWU3OGQiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPlllYXI6IDIwMTQ8YnI+TmFtZTogS2lsYXVlYTxicj5Db3VudHJ5OiBVbml0ZWQgU3RhdGVzPGJyPlR5cGU6IFNoaWVsZCB2b2xjYW5vPGJyPkNvb3JkaW5hdGVzOiBbMTkuNDI1LCAtMTU1LjI5Ml08L2Rpdj5gKVswXTsKICAgICAgICAgICAgcG9wdXBfZmQyYWUzNzQwMmE3NDNhZjkxNDlhZGM4NjdlNGRhZTUuc2V0Q29udGVudChodG1sXzEwNDVjZTlkYWNiMTRjMmRhYzJkYWRmOWQ5NWFlNzhkKTsKICAgICAgICAKCiAgICAgICAgbWFya2VyX2Y4OGYxZmE2OGViNTQwOTRhZjIxMWNhYmRjN2ZiNDM3LmJpbmRQb3B1cChwb3B1cF9mZDJhZTM3NDAyYTc0M2FmOTE0OWFkYzg2N2U0ZGFlNSkKICAgICAgICA7CgogICAgICAgIAogICAgCiAgICAKICAgICAgICAgICAgdmFyIG1hcmtlcl9iNGE2ZmFjZTY5NzQ0MWFiYTNmMjI4MzZiYTBhMDg1OCA9IEwubWFya2VyKAogICAgICAgICAgICAgICAgWzE0Ljk1LCAtMjQuMzVdLAogICAgICAgICAgICAgICAge30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfY2RmMzJhZTBkZGZjNGYzOWIyMDc2M2Q5Y2VlMmE4NWUpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBpY29uX2Q5N2QxYTg3NDFlMDRiOTU4ZjAyNDc3Y2VjMjcwOWRlID0gTC5Bd2Vzb21lTWFya2Vycy5pY29uKAogICAgICAgICAgICAgICAgeyJleHRyYUNsYXNzZXMiOiAiZmEtcm90YXRlLTAiLCAiaWNvbiI6ICJpbmZvLXNpZ24iLCAiaWNvbkNvbG9yIjogIndoaXRlIiwgIm1hcmtlckNvbG9yIjogImdyZWVuIiwgInByZWZpeCI6ICJnbHlwaGljb24ifQogICAgICAgICAgICApOwogICAgICAgICAgICBtYXJrZXJfYjRhNmZhY2U2OTc0NDFhYmEzZjIyODM2YmEwYTA4NTguc2V0SWNvbihpY29uX2Q5N2QxYTg3NDFlMDRiOTU4ZjAyNDc3Y2VjMjcwOWRlKTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBwb3B1cF82MmEzOGZiY2U1MTI0YTE5YWE0N2NlYWIwYTUxZjVhMCA9IEwucG9wdXAoeyJtYXhXaWR0aCI6ICIxMDAlIn0pOwoKICAgICAgICAKICAgICAgICAgICAgdmFyIGh0bWxfYTFjYTA5NzY3ZGFiNDE3Mjk5NDJjOWRjOTQwMjdiZDAgPSAkKGA8ZGl2IGlkPSJodG1sX2ExY2EwOTc2N2RhYjQxNzI5OTQyYzlkYzk0MDI3YmQwIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5ZZWFyOiAyMDE0PGJyPk5hbWU6IEZvZ288YnI+Q291bnRyeTogQ2FwZSBWZXJkZTxicj5UeXBlOiBTdHJhdG92b2xjYW5vPGJyPkNvb3JkaW5hdGVzOiBbMTQuOTUsIC0yNC4zNV08L2Rpdj5gKVswXTsKICAgICAgICAgICAgcG9wdXBfNjJhMzhmYmNlNTEyNGExOWFhNDdjZWFiMGE1MWY1YTAuc2V0Q29udGVudChodG1sX2ExY2EwOTc2N2RhYjQxNzI5OTQyYzlkYzk0MDI3YmQwKTsKICAgICAgICAKCiAgICAgICAgbWFya2VyX2I0YTZmYWNlNjk3NDQxYWJhM2YyMjgzNmJhMGEwODU4LmJpbmRQb3B1cChwb3B1cF82MmEzOGZiY2U1MTI0YTE5YWE0N2NlYWIwYTUxZjVhMCkKICAgICAgICA7CgogICAgICAgIAogICAgCiAgICAKICAgICAgICAgICAgdmFyIG1hcmtlcl83Mjc1MjgzOTZmMTA0MDk2YjMyYzhhNmI2ODc0NThjYSA9IEwubWFya2VyKAogICAgICAgICAgICAgICAgWzAuOCwgMTI3LjMyNV0sCiAgICAgICAgICAgICAgICB7fQogICAgICAgICAgICApLmFkZFRvKG1hcF9jZGYzMmFlMGRkZmM0ZjM5YjIwNzYzZDljZWUyYTg1ZSk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGljb25fODE1ODA4MDI3YjkyNDE0ZGI4OWI2MGVhZDU5M2QyMDEgPSBMLkF3ZXNvbWVNYXJrZXJzLmljb24oCiAgICAgICAgICAgICAgICB7ImV4dHJhQ2xhc3NlcyI6ICJmYS1yb3RhdGUtMCIsICJpY29uIjogImluZm8tc2lnbiIsICJpY29uQ29sb3IiOiAid2hpdGUiLCAibWFya2VyQ29sb3IiOiAiZ3JlZW4iLCAicHJlZml4IjogImdseXBoaWNvbiJ9CiAgICAgICAgICAgICk7CiAgICAgICAgICAgIG1hcmtlcl83Mjc1MjgzOTZmMTA0MDk2YjMyYzhhNmI2ODc0NThjYS5zZXRJY29uKGljb25fODE1ODA4MDI3YjkyNDE0ZGI4OWI2MGVhZDU5M2QyMDEpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIHBvcHVwXzQ3OTVhZjkwMGE3ODQ3NmRhMjJkZmE2NmU5NzAzODQ3ID0gTC5wb3B1cCh7Im1heFdpZHRoIjogIjEwMCUifSk7CgogICAgICAgIAogICAgICAgICAgICB2YXIgaHRtbF9jMGM1NTc5YmNmMzc0OWQwYjIyNjM0ODQ5ZmU2YTZiMiA9ICQoYDxkaXYgaWQ9Imh0bWxfYzBjNTU3OWJjZjM3NDlkMGIyMjYzNDg0OWZlNmE2YjIiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPlllYXI6IDIwMTQ8YnI+TmFtZTogR2FtYWxhbWE8YnI+Q291bnRyeTogSW5kb25lc2lhPGJyPlR5cGU6IFN0cmF0b3ZvbGNhbm88YnI+Q29vcmRpbmF0ZXM6IFswLjgsIDEyNy4zMjVdPC9kaXY+YClbMF07CiAgICAgICAgICAgIHBvcHVwXzQ3OTVhZjkwMGE3ODQ3NmRhMjJkZmE2NmU5NzAzODQ3LnNldENvbnRlbnQoaHRtbF9jMGM1NTc5YmNmMzc0OWQwYjIyNjM0ODQ5ZmU2YTZiMik7CiAgICAgICAgCgogICAgICAgIG1hcmtlcl83Mjc1MjgzOTZmMTA0MDk2YjMyYzhhNmI2ODc0NThjYS5iaW5kUG9wdXAocG9wdXBfNDc5NWFmOTAwYTc4NDc2ZGEyMmRmYTY2ZTk3MDM4NDcpCiAgICAgICAgOwoKICAgICAgICAKICAgIAogICAgCiAgICAgICAgICAgIHZhciBtYXJrZXJfNGQyYzkxNTU5ZGEwNGFlOWJmYWQ3ZDI2YmFjZjNkN2MgPSBMLm1hcmtlcigKICAgICAgICAgICAgICAgIFszLjE3LCA5OC4zOTIwMDAwMDAwMDAwMV0sCiAgICAgICAgICAgICAgICB7fQogICAgICAgICAgICApLmFkZFRvKG1hcF9jZGYzMmFlMGRkZmM0ZjM5YjIwNzYzZDljZWUyYTg1ZSk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGljb25fMDFjMjdmYzkzM2VkNDMzY2JlZTNlNmYwOWY3MGI3MDMgPSBMLkF3ZXNvbWVNYXJrZXJzLmljb24oCiAgICAgICAgICAgICAgICB7ImV4dHJhQ2xhc3NlcyI6ICJmYS1yb3RhdGUtMCIsICJpY29uIjogImluZm8tc2lnbiIsICJpY29uQ29sb3IiOiAid2hpdGUiLCAibWFya2VyQ29sb3IiOiAiZ3JlZW4iLCAicHJlZml4IjogImdseXBoaWNvbiJ9CiAgICAgICAgICAgICk7CiAgICAgICAgICAgIG1hcmtlcl80ZDJjOTE1NTlkYTA0YWU5YmZhZDdkMjZiYWNmM2Q3Yy5zZXRJY29uKGljb25fMDFjMjdmYzkzM2VkNDMzY2JlZTNlNmYwOWY3MGI3MDMpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIHBvcHVwX2YwOWVkNjRjNmRmZTRhYjA4ZTUxZTdiMTJiZDBmMDlhID0gTC5wb3B1cCh7Im1heFdpZHRoIjogIjEwMCUifSk7CgogICAgICAgIAogICAgICAgICAgICB2YXIgaHRtbF8xZmRjNjljYWE5ZmU0ZTJmYjg5YWI4MDE1Yzc4YmQwNiA9ICQoYDxkaXYgaWQ9Imh0bWxfMWZkYzY5Y2FhOWZlNGUyZmI4OWFiODAxNWM3OGJkMDYiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPlllYXI6IDIwMTU8YnI+TmFtZTogU2luYWJ1bmc8YnI+Q291bnRyeTogSW5kb25lc2lhPGJyPlR5cGU6IFN0cmF0b3ZvbGNhbm88YnI+Q29vcmRpbmF0ZXM6IFszLjE3LCA5OC4zOTIwMDAwMDAwMDAwMV08L2Rpdj5gKVswXTsKICAgICAgICAgICAgcG9wdXBfZjA5ZWQ2NGM2ZGZlNGFiMDhlNTFlN2IxMmJkMGYwOWEuc2V0Q29udGVudChodG1sXzFmZGM2OWNhYTlmZTRlMmZiODlhYjgwMTVjNzhiZDA2KTsKICAgICAgICAKCiAgICAgICAgbWFya2VyXzRkMmM5MTU1OWRhMDRhZTliZmFkN2QyNmJhY2YzZDdjLmJpbmRQb3B1cChwb3B1cF9mMDllZDY0YzZkZmU0YWIwOGU1MWU3YjEyYmQwZjA5YSkKICAgICAgICA7CgogICAgICAgIAogICAgCiAgICAKICAgICAgICAgICAgdmFyIG1hcmtlcl9hOWQ4Yjg2ODNlYmI0MGQ3YTJkNzU0MGVhYTQxMDEzOCA9IEwubWFya2VyKAogICAgICAgICAgICAgICAgWy00MS4zMjYsIC03Mi42MTM5OTk5OTk5OTk5OV0sCiAgICAgICAgICAgICAgICB7fQogICAgICAgICAgICApLmFkZFRvKG1hcF9jZGYzMmFlMGRkZmM0ZjM5YjIwNzYzZDljZWUyYTg1ZSk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGljb25fNzQyMDNiMDRmYzM5NDgzMmFlODBhOTM3ODI3NjVjMjIgPSBMLkF3ZXNvbWVNYXJrZXJzLmljb24oCiAgICAgICAgICAgICAgICB7ImV4dHJhQ2xhc3NlcyI6ICJmYS1yb3RhdGUtMCIsICJpY29uIjogImluZm8tc2lnbiIsICJpY29uQ29sb3IiOiAid2hpdGUiLCAibWFya2VyQ29sb3IiOiAiZ3JlZW4iLCAicHJlZml4IjogImdseXBoaWNvbiJ9CiAgICAgICAgICAgICk7CiAgICAgICAgICAgIG1hcmtlcl9hOWQ4Yjg2ODNlYmI0MGQ3YTJkNzU0MGVhYTQxMDEzOC5zZXRJY29uKGljb25fNzQyMDNiMDRmYzM5NDgzMmFlODBhOTM3ODI3NjVjMjIpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIHBvcHVwXzkyYmI0Y2IzMjFlMjQ3OTViNTBhNDY5Zjk0ODgxZGE5ID0gTC5wb3B1cCh7Im1heFdpZHRoIjogIjEwMCUifSk7CgogICAgICAgIAogICAgICAgICAgICB2YXIgaHRtbF9kNTJlNGFiNjI2NDk0MGQwOTJjOGM2MTAzZWQyZTU4ZSA9ICQoYDxkaXYgaWQ9Imh0bWxfZDUyZTRhYjYyNjQ5NDBkMDkyYzhjNjEwM2VkMmU1OGUiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPlllYXI6IDIwMTU8YnI+TmFtZTogQ2FsYnVjbzxicj5Db3VudHJ5OiBDaGlsZTxicj5UeXBlOiBTdHJhdG92b2xjYW5vPGJyPkNvb3JkaW5hdGVzOiBbLTQxLjMyNiwgLTcyLjYxMzk5OTk5OTk5OTk5XTwvZGl2PmApWzBdOwogICAgICAgICAgICBwb3B1cF85MmJiNGNiMzIxZTI0Nzk1YjUwYTQ2OWY5NDg4MWRhOS5zZXRDb250ZW50KGh0bWxfZDUyZTRhYjYyNjQ5NDBkMDkyYzhjNjEwM2VkMmU1OGUpOwogICAgICAgIAoKICAgICAgICBtYXJrZXJfYTlkOGI4NjgzZWJiNDBkN2EyZDc1NDBlYWE0MTAxMzguYmluZFBvcHVwKHBvcHVwXzkyYmI0Y2IzMjFlMjQ3OTViNTBhNDY5Zjk0ODgxZGE5KQogICAgICAgIDsKCiAgICAgICAgCiAgICAKICAgIAogICAgICAgICAgICB2YXIgbWFya2VyXzAwOTQ1MTk5N2EwNjQ4MjlhZDNlYTcxMTQ5MjgyNDQxID0gTC5tYXJrZXIoCiAgICAgICAgICAgICAgICBbMi43OCwgMTI1LjQ4XSwKICAgICAgICAgICAgICAgIHt9CiAgICAgICAgICAgICkuYWRkVG8obWFwX2NkZjMyYWUwZGRmYzRmMzliMjA3NjNkOWNlZTJhODVlKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgaWNvbl9iNmEzODBmNmNlYzI0MTFjYjJjYWM4ZmFjMDViNWU5MiA9IEwuQXdlc29tZU1hcmtlcnMuaWNvbigKICAgICAgICAgICAgICAgIHsiZXh0cmFDbGFzc2VzIjogImZhLXJvdGF0ZS0wIiwgImljb24iOiAiaW5mby1zaWduIiwgImljb25Db2xvciI6ICJ3aGl0ZSIsICJtYXJrZXJDb2xvciI6ICJncmVlbiIsICJwcmVmaXgiOiAiZ2x5cGhpY29uIn0KICAgICAgICAgICAgKTsKICAgICAgICAgICAgbWFya2VyXzAwOTQ1MTk5N2EwNjQ4MjlhZDNlYTcxMTQ5MjgyNDQxLnNldEljb24oaWNvbl9iNmEzODBmNmNlYzI0MTFjYjJjYWM4ZmFjMDViNWU5Mik7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgcG9wdXBfNzFiYzIxZDE5MzRjNDJjMjk3Y2Q3YmM1M2FiYTZlOWUgPSBMLnBvcHVwKHsibWF4V2lkdGgiOiAiMTAwJSJ9KTsKCiAgICAgICAgCiAgICAgICAgICAgIHZhciBodG1sX2ExMzJjYjhlMGQ3MzRlYjg5MWI5ZTlkMzUwZDU4OTcwID0gJChgPGRpdiBpZD0iaHRtbF9hMTMyY2I4ZTBkNzM0ZWI4OTFiOWU5ZDM1MGQ1ODk3MCIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+WWVhcjogMjAxNTxicj5OYW1lOiBLYXJhbmdldGFuZyBbQXBpIFNpYXVdPGJyPkNvdW50cnk6IEluZG9uZXNpYTxicj5UeXBlOiBTdHJhdG92b2xjYW5vPGJyPkNvb3JkaW5hdGVzOiBbMi43OCwgMTI1LjQ4XTwvZGl2PmApWzBdOwogICAgICAgICAgICBwb3B1cF83MWJjMjFkMTkzNGM0MmMyOTdjZDdiYzUzYWJhNmU5ZS5zZXRDb250ZW50KGh0bWxfYTEzMmNiOGUwZDczNGViODkxYjllOWQzNTBkNTg5NzApOwogICAgICAgIAoKICAgICAgICBtYXJrZXJfMDA5NDUxOTk3YTA2NDgyOWFkM2VhNzExNDkyODI0NDEuYmluZFBvcHVwKHBvcHVwXzcxYmMyMWQxOTM0YzQyYzI5N2NkN2JjNTNhYmE2ZTllKQogICAgICAgIDsKCiAgICAgICAgCiAgICAKICAgIAogICAgICAgICAgICB2YXIgbWFya2VyX2MxN2ExNmVlOTc1NTQ4MTY5NGY1ODE0MzY1MDhlMTkzID0gTC5tYXJrZXIoCiAgICAgICAgICAgICAgICBbLTQuMSwgMTQ1LjA2MV0sCiAgICAgICAgICAgICAgICB7fQogICAgICAgICAgICApLmFkZFRvKG1hcF9jZGYzMmFlMGRkZmM0ZjM5YjIwNzYzZDljZWUyYTg1ZSk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGljb25fYjU4ZDM3NTdlODI1NDdhNWIzNzU2ZjRmYjQ1YjMyMjIgPSBMLkF3ZXNvbWVNYXJrZXJzLmljb24oCiAgICAgICAgICAgICAgICB7ImV4dHJhQ2xhc3NlcyI6ICJmYS1yb3RhdGUtMCIsICJpY29uIjogImluZm8tc2lnbiIsICJpY29uQ29sb3IiOiAid2hpdGUiLCAibWFya2VyQ29sb3IiOiAiZ3JlZW4iLCAicHJlZml4IjogImdseXBoaWNvbiJ9CiAgICAgICAgICAgICk7CiAgICAgICAgICAgIG1hcmtlcl9jMTdhMTZlZTk3NTU0ODE2OTRmNTgxNDM2NTA4ZTE5My5zZXRJY29uKGljb25fYjU4ZDM3NTdlODI1NDdhNWIzNzU2ZjRmYjQ1YjMyMjIpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIHBvcHVwXzA0ZmUwMzQwMjE5ODRiM2RhY2JjZDQxN2M0NWM0MjE2ID0gTC5wb3B1cCh7Im1heFdpZHRoIjogIjEwMCUifSk7CgogICAgICAgIAogICAgICAgICAgICB2YXIgaHRtbF8wOWM4NmVmNTJmZGI0OTJlODIzNDliYjhmYWZmMzdlZCA9ICQoYDxkaXYgaWQ9Imh0bWxfMDljODZlZjUyZmRiNDkyZTgyMzQ5YmI4ZmFmZjM3ZWQiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPlllYXI6IDIwMTU8YnI+TmFtZTogTWFuYW08YnI+Q291bnRyeTogUGFwdWEgTmV3IEd1aW5lYTxicj5UeXBlOiBTdHJhdG92b2xjYW5vPGJyPkNvb3JkaW5hdGVzOiBbLTQuMSwgMTQ1LjA2MV08L2Rpdj5gKVswXTsKICAgICAgICAgICAgcG9wdXBfMDRmZTAzNDAyMTk4NGIzZGFjYmNkNDE3YzQ1YzQyMTYuc2V0Q29udGVudChodG1sXzA5Yzg2ZWY1MmZkYjQ5MmU4MjM0OWJiOGZhZmYzN2VkKTsKICAgICAgICAKCiAgICAgICAgbWFya2VyX2MxN2ExNmVlOTc1NTQ4MTY5NGY1ODE0MzY1MDhlMTkzLmJpbmRQb3B1cChwb3B1cF8wNGZlMDM0MDIxOTg0YjNkYWNiY2Q0MTdjNDVjNDIxNikKICAgICAgICA7CgogICAgICAgIAogICAgCiAgICAKICAgICAgICAgICAgdmFyIG1hcmtlcl9jZDM1ZWRkNGNlNzU0NTY4YmZkNDRjMTU1N2Q5MWRlMyA9IEwubWFya2VyKAogICAgICAgICAgICAgICAgWzMuMTcsIDk4LjM5MjAwMDAwMDAwMDAxXSwKICAgICAgICAgICAgICAgIHt9CiAgICAgICAgICAgICkuYWRkVG8obWFwX2NkZjMyYWUwZGRmYzRmMzliMjA3NjNkOWNlZTJhODVlKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgaWNvbl8zOWFmNTY1ZGJhZGY0NGVkOWNlN2RmOWRjNTk3MjFkZSA9IEwuQXdlc29tZU1hcmtlcnMuaWNvbigKICAgICAgICAgICAgICAgIHsiZXh0cmFDbGFzc2VzIjogImZhLXJvdGF0ZS0wIiwgImljb24iOiAiaW5mby1zaWduIiwgImljb25Db2xvciI6ICJ3aGl0ZSIsICJtYXJrZXJDb2xvciI6ICJncmVlbiIsICJwcmVmaXgiOiAiZ2x5cGhpY29uIn0KICAgICAgICAgICAgKTsKICAgICAgICAgICAgbWFya2VyX2NkMzVlZGQ0Y2U3NTQ1NjhiZmQ0NGMxNTU3ZDkxZGUzLnNldEljb24oaWNvbl8zOWFmNTY1ZGJhZGY0NGVkOWNlN2RmOWRjNTk3MjFkZSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgcG9wdXBfY2NiZDQ0ZTNiYTFiNDA2ZThiNjA4NzVlY2NkOWQ5MTMgPSBMLnBvcHVwKHsibWF4V2lkdGgiOiAiMTAwJSJ9KTsKCiAgICAgICAgCiAgICAgICAgICAgIHZhciBodG1sXzA4MWUzOGEyMTYxNjRkZTBiZGU1M2MxNDc3NWRlMDBkID0gJChgPGRpdiBpZD0iaHRtbF8wODFlMzhhMjE2MTY0ZGUwYmRlNTNjMTQ3NzVkZTAwZCIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+WWVhcjogMjAxNTxicj5OYW1lOiBTaW5hYnVuZzxicj5Db3VudHJ5OiBJbmRvbmVzaWE8YnI+VHlwZTogU3RyYXRvdm9sY2Fubzxicj5Db29yZGluYXRlczogWzMuMTcsIDk4LjM5MjAwMDAwMDAwMDAxXTwvZGl2PmApWzBdOwogICAgICAgICAgICBwb3B1cF9jY2JkNDRlM2JhMWI0MDZlOGI2MDg3NWVjY2Q5ZDkxMy5zZXRDb250ZW50KGh0bWxfMDgxZTM4YTIxNjE2NGRlMGJkZTUzYzE0Nzc1ZGUwMGQpOwogICAgICAgIAoKICAgICAgICBtYXJrZXJfY2QzNWVkZDRjZTc1NDU2OGJmZDQ0YzE1NTdkOTFkZTMuYmluZFBvcHVwKHBvcHVwX2NjYmQ0NGUzYmExYjQwNmU4YjYwODc1ZWNjZDlkOTEzKQogICAgICAgIDsKCiAgICAgICAgCiAgICAKICAgIAogICAgICAgICAgICB2YXIgbWFya2VyXzU2ODJjZjk3ZWI4ZjRkOTA4NzZkMzI4ZTA2Y2Q2ZjZkID0gTC5tYXJrZXIoCiAgICAgICAgICAgICAgICBbLTM4LjEyLCAxNzYuNV0sCiAgICAgICAgICAgICAgICB7fQogICAgICAgICAgICApLmFkZFRvKG1hcF9jZGYzMmFlMGRkZmM0ZjM5YjIwNzYzZDljZWUyYTg1ZSk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGljb25fYmQ0MmRjYTY2YzkyNDA3OTk3NWU5NTU3MjU4ZGZkZTAgPSBMLkF3ZXNvbWVNYXJrZXJzLmljb24oCiAgICAgICAgICAgICAgICB7ImV4dHJhQ2xhc3NlcyI6ICJmYS1yb3RhdGUtMCIsICJpY29uIjogImluZm8tc2lnbiIsICJpY29uQ29sb3IiOiAid2hpdGUiLCAibWFya2VyQ29sb3IiOiAicGluayIsICJwcmVmaXgiOiAiZ2x5cGhpY29uIn0KICAgICAgICAgICAgKTsKICAgICAgICAgICAgbWFya2VyXzU2ODJjZjk3ZWI4ZjRkOTA4NzZkMzI4ZTA2Y2Q2ZjZkLnNldEljb24oaWNvbl9iZDQyZGNhNjZjOTI0MDc5OTc1ZTk1NTcyNThkZmRlMCk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgcG9wdXBfNjEyOWE4NGI1YjdmNDExZDkzYjMwN2QyZGE5ZjFhYWEgPSBMLnBvcHVwKHsibWF4V2lkdGgiOiAiMTAwJSJ9KTsKCiAgICAgICAgCiAgICAgICAgICAgIHZhciBodG1sXzJmNTlkOWY0MWRiMTRmNDdhNmQ2ODJlMjI0Y2QxYWEzID0gJChgPGRpdiBpZD0iaHRtbF8yZjU5ZDlmNDFkYjE0ZjQ3YTZkNjgyZTIyNGNkMWFhMyIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+WWVhcjogMjAxNTxicj5OYW1lOiBPa2F0YWluYTxicj5Db3VudHJ5OiBOZXcgWmVhbGFuZDxicj5UeXBlOiBMYXZhIGRvbWU8YnI+Q29vcmRpbmF0ZXM6IFstMzguMTIsIDE3Ni41XTwvZGl2PmApWzBdOwogICAgICAgICAgICBwb3B1cF82MTI5YTg0YjViN2Y0MTFkOTNiMzA3ZDJkYTlmMWFhYS5zZXRDb250ZW50KGh0bWxfMmY1OWQ5ZjQxZGIxNGY0N2E2ZDY4MmUyMjRjZDFhYTMpOwogICAgICAgIAoKICAgICAgICBtYXJrZXJfNTY4MmNmOTdlYjhmNGQ5MDg3NmQzMjhlMDZjZDZmNmQuYmluZFBvcHVwKHBvcHVwXzYxMjlhODRiNWI3ZjQxMWQ5M2IzMDdkMmRhOWYxYWFhKQogICAgICAgIDsKCiAgICAgICAgCiAgICAKICAgIAogICAgICAgICAgICB2YXIgbWFya2VyXzYzYmYwMGFmOGY3NTQxZGJiMTRkNjc2Y2Y2NjllODY2ID0gTC5tYXJrZXIoCiAgICAgICAgICAgICAgICBbMy4xNywgOTguMzkyMDAwMDAwMDAwMDFdLAogICAgICAgICAgICAgICAge30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfY2RmMzJhZTBkZGZjNGYzOWIyMDc2M2Q5Y2VlMmE4NWUpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBpY29uX2ZiNWY3YmY5MzdiZjRkMjdhZDEzM2QxNTcxODJlZmZlID0gTC5Bd2Vzb21lTWFya2Vycy5pY29uKAogICAgICAgICAgICAgICAgeyJleHRyYUNsYXNzZXMiOiAiZmEtcm90YXRlLTAiLCAiaWNvbiI6ICJpbmZvLXNpZ24iLCAiaWNvbkNvbG9yIjogIndoaXRlIiwgIm1hcmtlckNvbG9yIjogImdyZWVuIiwgInByZWZpeCI6ICJnbHlwaGljb24ifQogICAgICAgICAgICApOwogICAgICAgICAgICBtYXJrZXJfNjNiZjAwYWY4Zjc1NDFkYmIxNGQ2NzZjZjY2OWU4NjYuc2V0SWNvbihpY29uX2ZiNWY3YmY5MzdiZjRkMjdhZDEzM2QxNTcxODJlZmZlKTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBwb3B1cF84OGY5MTg2NTAzYmE0YmViOGVjMjMzYWM4NDBkNzg0YSA9IEwucG9wdXAoeyJtYXhXaWR0aCI6ICIxMDAlIn0pOwoKICAgICAgICAKICAgICAgICAgICAgdmFyIGh0bWxfYjdlOWViNjFlOTE2NGM0ZWJjY2UzNTMzYzVmMTczNzMgPSAkKGA8ZGl2IGlkPSJodG1sX2I3ZTllYjYxZTkxNjRjNGViY2NlMzUzM2M1ZjE3MzczIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5ZZWFyOiAyMDE2PGJyPk5hbWU6IFNpbmFidW5nPGJyPkNvdW50cnk6IEluZG9uZXNpYTxicj5UeXBlOiBTdHJhdG92b2xjYW5vPGJyPkNvb3JkaW5hdGVzOiBbMy4xNywgOTguMzkyMDAwMDAwMDAwMDFdPC9kaXY+YClbMF07CiAgICAgICAgICAgIHBvcHVwXzg4ZjkxODY1MDNiYTRiZWI4ZWMyMzNhYzg0MGQ3ODRhLnNldENvbnRlbnQoaHRtbF9iN2U5ZWI2MWU5MTY0YzRlYmNjZTM1MzNjNWYxNzM3Myk7CiAgICAgICAgCgogICAgICAgIG1hcmtlcl82M2JmMDBhZjhmNzU0MWRiYjE0ZDY3NmNmNjY5ZTg2Ni5iaW5kUG9wdXAocG9wdXBfODhmOTE4NjUwM2JhNGJlYjhlYzIzM2FjODQwZDc4NGEpCiAgICAgICAgOwoKICAgICAgICAKICAgIAogICAgCiAgICAgICAgICAgIHZhciBtYXJrZXJfZDM3MWE4NDAyMmRjNDY4MTlhYmE4MDczZDU1ODQwYTYgPSBMLm1hcmtlcigKICAgICAgICAgICAgICAgIFszLjE3LCA5OC4zOTIwMDAwMDAwMDAwMV0sCiAgICAgICAgICAgICAgICB7fQogICAgICAgICAgICApLmFkZFRvKG1hcF9jZGYzMmFlMGRkZmM0ZjM5YjIwNzYzZDljZWUyYTg1ZSk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGljb25fZTdkODMxZGM4ZDI5NGU1NzgyMTllZjRiMjE2ZmVlMTUgPSBMLkF3ZXNvbWVNYXJrZXJzLmljb24oCiAgICAgICAgICAgICAgICB7ImV4dHJhQ2xhc3NlcyI6ICJmYS1yb3RhdGUtMCIsICJpY29uIjogImluZm8tc2lnbiIsICJpY29uQ29sb3IiOiAid2hpdGUiLCAibWFya2VyQ29sb3IiOiAiZ3JlZW4iLCAicHJlZml4IjogImdseXBoaWNvbiJ9CiAgICAgICAgICAgICk7CiAgICAgICAgICAgIG1hcmtlcl9kMzcxYTg0MDIyZGM0NjgxOWFiYTgwNzNkNTU4NDBhNi5zZXRJY29uKGljb25fZTdkODMxZGM4ZDI5NGU1NzgyMTllZjRiMjE2ZmVlMTUpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIHBvcHVwXzE1NGZjNjQwYzUxMjRkODNiNzVmOThhYTBhNjRlNGEzID0gTC5wb3B1cCh7Im1heFdpZHRoIjogIjEwMCUifSk7CgogICAgICAgIAogICAgICAgICAgICB2YXIgaHRtbF9hZWExZGJlYjU1YTI0ZDUzYTk3NWU3MWNhMTZjMzY2MCA9ICQoYDxkaXYgaWQ9Imh0bWxfYWVhMWRiZWI1NWEyNGQ1M2E5NzVlNzFjYTE2YzM2NjAiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPlllYXI6IDIwMTY8YnI+TmFtZTogU2luYWJ1bmc8YnI+Q291bnRyeTogSW5kb25lc2lhPGJyPlR5cGU6IFN0cmF0b3ZvbGNhbm88YnI+Q29vcmRpbmF0ZXM6IFszLjE3LCA5OC4zOTIwMDAwMDAwMDAwMV08L2Rpdj5gKVswXTsKICAgICAgICAgICAgcG9wdXBfMTU0ZmM2NDBjNTEyNGQ4M2I3NWY5OGFhMGE2NGU0YTMuc2V0Q29udGVudChodG1sX2FlYTFkYmViNTVhMjRkNTNhOTc1ZTcxY2ExNmMzNjYwKTsKICAgICAgICAKCiAgICAgICAgbWFya2VyX2QzNzFhODQwMjJkYzQ2ODE5YWJhODA3M2Q1NTg0MGE2LmJpbmRQb3B1cChwb3B1cF8xNTRmYzY0MGM1MTI0ZDgzYjc1Zjk4YWEwYTY0ZTRhMykKICAgICAgICA7CgogICAgICAgIAogICAgCiAgICAKICAgICAgICAgICAgdmFyIG1hcmtlcl9lNGUwODE4MTliMDk0NTE0OTFhMDI4ZGZmMGU1YTBlNCA9IEwubWFya2VyKAogICAgICAgICAgICAgICAgWzQ0LjQzLCAtMTEwLjY3XSwKICAgICAgICAgICAgICAgIHt9CiAgICAgICAgICAgICkuYWRkVG8obWFwX2NkZjMyYWUwZGRmYzRmMzliMjA3NjNkOWNlZTJhODVlKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgaWNvbl82YTdhM2JjZjUyYTg0MjgyYmE3ZmQ3MGI5NGJlYzEwYyA9IEwuQXdlc29tZU1hcmtlcnMuaWNvbigKICAgICAgICAgICAgICAgIHsiZXh0cmFDbGFzc2VzIjogImZhLXJvdGF0ZS0wIiwgImljb24iOiAiaW5mby1zaWduIiwgImljb25Db2xvciI6ICJ3aGl0ZSIsICJtYXJrZXJDb2xvciI6ICJwdXJwbGUiLCAicHJlZml4IjogImdseXBoaWNvbiJ9CiAgICAgICAgICAgICk7CiAgICAgICAgICAgIG1hcmtlcl9lNGUwODE4MTliMDk0NTE0OTFhMDI4ZGZmMGU1YTBlNC5zZXRJY29uKGljb25fNmE3YTNiY2Y1MmE4NDI4MmJhN2ZkNzBiOTRiZWMxMGMpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIHBvcHVwXzA1N2ZhNDYxZDI0ZjRhYjlhNTEyMDNlZWFjZmU3M2VkID0gTC5wb3B1cCh7Im1heFdpZHRoIjogIjEwMCUifSk7CgogICAgICAgIAogICAgICAgICAgICB2YXIgaHRtbF9kNzkxYmFiMTFjZGI0YmFmOWZkYmU5NzllYjhmN2E1MiA9ICQoYDxkaXYgaWQ9Imh0bWxfZDc5MWJhYjExY2RiNGJhZjlmZGJlOTc5ZWI4ZjdhNTIiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPlllYXI6IDIwMTY8YnI+TmFtZTogWWVsbG93c3RvbmU8YnI+Q291bnRyeTogVW5pdGVkIFN0YXRlczxicj5UeXBlOiBDYWxkZXJhPGJyPkNvb3JkaW5hdGVzOiBbNDQuNDMsIC0xMTAuNjddPC9kaXY+YClbMF07CiAgICAgICAgICAgIHBvcHVwXzA1N2ZhNDYxZDI0ZjRhYjlhNTEyMDNlZWFjZmU3M2VkLnNldENvbnRlbnQoaHRtbF9kNzkxYmFiMTFjZGI0YmFmOWZkYmU5NzllYjhmN2E1Mik7CiAgICAgICAgCgogICAgICAgIG1hcmtlcl9lNGUwODE4MTliMDk0NTE0OTFhMDI4ZGZmMGU1YTBlNC5iaW5kUG9wdXAocG9wdXBfMDU3ZmE0NjFkMjRmNGFiOWE1MTIwM2VlYWNmZTczZWQpCiAgICAgICAgOwoKICAgICAgICAKICAgIAogICAgCiAgICAgICAgICAgIHZhciBtYXJrZXJfMGE1ODU2MDgxZGNhNDExMzk2NzlmN2ZlMjc0ZGM5M2MgPSBMLm1hcmtlcigKICAgICAgICAgICAgICAgIFstOC40MiwgMTE2LjQ3XSwKICAgICAgICAgICAgICAgIHt9CiAgICAgICAgICAgICkuYWRkVG8obWFwX2NkZjMyYWUwZGRmYzRmMzliMjA3NjNkOWNlZTJhODVlKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgaWNvbl9mNmRhN2E5Y2VhNzY0YzEzYmMwN2IyMjQwMzhlNWJlMSA9IEwuQXdlc29tZU1hcmtlcnMuaWNvbigKICAgICAgICAgICAgICAgIHsiZXh0cmFDbGFzc2VzIjogImZhLXJvdGF0ZS0wIiwgImljb24iOiAiaW5mby1zaWduIiwgImljb25Db2xvciI6ICJ3aGl0ZSIsICJtYXJrZXJDb2xvciI6ICJncmVlbiIsICJwcmVmaXgiOiAiZ2x5cGhpY29uIn0KICAgICAgICAgICAgKTsKICAgICAgICAgICAgbWFya2VyXzBhNTg1NjA4MWRjYTQxMTM5Njc5ZjdmZTI3NGRjOTNjLnNldEljb24oaWNvbl9mNmRhN2E5Y2VhNzY0YzEzYmMwN2IyMjQwMzhlNWJlMSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgcG9wdXBfNGVlYmFkYTA2MzAzNDA3ZTkzODI4YmIyN2U4YmJjNDEgPSBMLnBvcHVwKHsibWF4V2lkdGgiOiAiMTAwJSJ9KTsKCiAgICAgICAgCiAgICAgICAgICAgIHZhciBodG1sXzc3MjM5ZjNiMjU1NjRiYzQ4ODUzNzQzNzUyNTZkZDkxID0gJChgPGRpdiBpZD0iaHRtbF83NzIzOWYzYjI1NTY0YmM0ODg1Mzc0Mzc1MjU2ZGQ5MSIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+WWVhcjogMjAxNjxicj5OYW1lOiBSaW5qYW5pPGJyPkNvdW50cnk6IEluZG9uZXNpYTxicj5UeXBlOiBTdHJhdG92b2xjYW5vPGJyPkNvb3JkaW5hdGVzOiBbLTguNDIsIDExNi40N108L2Rpdj5gKVswXTsKICAgICAgICAgICAgcG9wdXBfNGVlYmFkYTA2MzAzNDA3ZTkzODI4YmIyN2U4YmJjNDEuc2V0Q29udGVudChodG1sXzc3MjM5ZjNiMjU1NjRiYzQ4ODUzNzQzNzUyNTZkZDkxKTsKICAgICAgICAKCiAgICAgICAgbWFya2VyXzBhNTg1NjA4MWRjYTQxMTM5Njc5ZjdmZTI3NGRjOTNjLmJpbmRQb3B1cChwb3B1cF80ZWViYWRhMDYzMDM0MDdlOTM4MjhiYjI3ZThiYmM0MSkKICAgICAgICA7CgogICAgICAgIAogICAgCiAgICAKICAgICAgICAgICAgdmFyIG1hcmtlcl9lMWI0MmRiN2U4NDk0NTdmYmQ2NWEzNTE3NTY4YzFiZiA9IEwubWFya2VyKAogICAgICAgICAgICAgICAgWzMyLjg4LCAxMzEuMV0sCiAgICAgICAgICAgICAgICB7fQogICAgICAgICAgICApLmFkZFRvKG1hcF9jZGYzMmFlMGRkZmM0ZjM5YjIwNzYzZDljZWUyYTg1ZSk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGljb25fMTQ4OTkzMzNkNjc1NDc3NGFmMTQ1Yjc4ZjI4YzNhOWQgPSBMLkF3ZXNvbWVNYXJrZXJzLmljb24oCiAgICAgICAgICAgICAgICB7ImV4dHJhQ2xhc3NlcyI6ICJmYS1yb3RhdGUtMCIsICJpY29uIjogImluZm8tc2lnbiIsICJpY29uQ29sb3IiOiAid2hpdGUiLCAibWFya2VyQ29sb3IiOiAicHVycGxlIiwgInByZWZpeCI6ICJnbHlwaGljb24ifQogICAgICAgICAgICApOwogICAgICAgICAgICBtYXJrZXJfZTFiNDJkYjdlODQ5NDU3ZmJkNjVhMzUxNzU2OGMxYmYuc2V0SWNvbihpY29uXzE0ODk5MzMzZDY3NTQ3NzRhZjE0NWI3OGYyOGMzYTlkKTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBwb3B1cF9kMzIyMTM2OGU2MTg0OGRmYWY4N2JhNTRlMWY3NjI1NCA9IEwucG9wdXAoeyJtYXhXaWR0aCI6ICIxMDAlIn0pOwoKICAgICAgICAKICAgICAgICAgICAgdmFyIGh0bWxfMzE5YWI4NGU0NWYwNDE3OThmMTVlZWJmOWI2MmY3ZjcgPSAkKGA8ZGl2IGlkPSJodG1sXzMxOWFiODRlNDVmMDQxNzk4ZjE1ZWViZjliNjJmN2Y3IiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5ZZWFyOiAyMDE2PGJyPk5hbWU6IEFzbzxicj5Db3VudHJ5OiBKYXBhbjxicj5UeXBlOiBDYWxkZXJhPGJyPkNvb3JkaW5hdGVzOiBbMzIuODgsIDEzMS4xXTwvZGl2PmApWzBdOwogICAgICAgICAgICBwb3B1cF9kMzIyMTM2OGU2MTg0OGRmYWY4N2JhNTRlMWY3NjI1NC5zZXRDb250ZW50KGh0bWxfMzE5YWI4NGU0NWYwNDE3OThmMTVlZWJmOWI2MmY3ZjcpOwogICAgICAgIAoKICAgICAgICBtYXJrZXJfZTFiNDJkYjdlODQ5NDU3ZmJkNjVhMzUxNzU2OGMxYmYuYmluZFBvcHVwKHBvcHVwX2QzMjIxMzY4ZTYxODQ4ZGZhZjg3YmE1NGUxZjc2MjU0KQogICAgICAgIDsKCiAgICAgICAgCiAgICAKICAgIAogICAgICAgICAgICB2YXIgbWFya2VyXzhlYTM1NzY4M2EwNDRlOWNiOGQzN2FmYWU3MTE0NmI2ID0gTC5tYXJrZXIoCiAgICAgICAgICAgICAgICBbMzcuNzM0LCAxNS4wMDQwMDAwMDAwMDAwMDFdLAogICAgICAgICAgICAgICAge30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfY2RmMzJhZTBkZGZjNGYzOWIyMDc2M2Q5Y2VlMmE4NWUpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBpY29uXzA1YmM2ZDVmZmViMDQ2ZGM5M2E5NmJmNjEyMWIyNzE5ID0gTC5Bd2Vzb21lTWFya2Vycy5pY29uKAogICAgICAgICAgICAgICAgeyJleHRyYUNsYXNzZXMiOiAiZmEtcm90YXRlLTAiLCAiaWNvbiI6ICJpbmZvLXNpZ24iLCAiaWNvbkNvbG9yIjogIndoaXRlIiwgIm1hcmtlckNvbG9yIjogImdyZWVuIiwgInByZWZpeCI6ICJnbHlwaGljb24ifQogICAgICAgICAgICApOwogICAgICAgICAgICBtYXJrZXJfOGVhMzU3NjgzYTA0NGU5Y2I4ZDM3YWZhZTcxMTQ2YjYuc2V0SWNvbihpY29uXzA1YmM2ZDVmZmViMDQ2ZGM5M2E5NmJmNjEyMWIyNzE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBwb3B1cF82YzI1MDdjODhhMjk0MmFlYWU5MGI1ZmYwZTRkM2NiNSA9IEwucG9wdXAoeyJtYXhXaWR0aCI6ICIxMDAlIn0pOwoKICAgICAgICAKICAgICAgICAgICAgdmFyIGh0bWxfMWQ3ZGZlNDlmZWI2NGY0NzgzNDQ4NTRiY2EzNTE1M2MgPSAkKGA8ZGl2IGlkPSJodG1sXzFkN2RmZTQ5ZmViNjRmNDc4MzQ0ODU0YmNhMzUxNTNjIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5ZZWFyOiAyMDE3PGJyPk5hbWU6IEV0bmE8YnI+Q291bnRyeTogSXRhbHk8YnI+VHlwZTogU3RyYXRvdm9sY2Fubzxicj5Db29yZGluYXRlczogWzM3LjczNCwgMTUuMDA0MDAwMDAwMDAwMDAxXTwvZGl2PmApWzBdOwogICAgICAgICAgICBwb3B1cF82YzI1MDdjODhhMjk0MmFlYWU5MGI1ZmYwZTRkM2NiNS5zZXRDb250ZW50KGh0bWxfMWQ3ZGZlNDlmZWI2NGY0NzgzNDQ4NTRiY2EzNTE1M2MpOwogICAgICAgIAoKICAgICAgICBtYXJrZXJfOGVhMzU3NjgzYTA0NGU5Y2I4ZDM3YWZhZTcxMTQ2YjYuYmluZFBvcHVwKHBvcHVwXzZjMjUwN2M4OGEyOTQyYWVhZTkwYjVmZjBlNGQzY2I1KQogICAgICAgIDsKCiAgICAgICAgCiAgICAKICAgIAogICAgICAgICAgICB2YXIgbWFya2VyXzk2OTAzM2NhYjBhOTQyZGU5ZjBhNGNjNjJkMzMxNjc2ID0gTC5tYXJrZXIoCiAgICAgICAgICAgICAgICBbMy4xNywgOTguMzkyMDAwMDAwMDAwMDFdLAogICAgICAgICAgICAgICAge30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfY2RmMzJhZTBkZGZjNGYzOWIyMDc2M2Q5Y2VlMmE4NWUpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBpY29uXzkxOWFkYzhkYjJjYjRkMWI4YWZhOWQzZWJhMGZlZDA0ID0gTC5Bd2Vzb21lTWFya2Vycy5pY29uKAogICAgICAgICAgICAgICAgeyJleHRyYUNsYXNzZXMiOiAiZmEtcm90YXRlLTAiLCAiaWNvbiI6ICJpbmZvLXNpZ24iLCAiaWNvbkNvbG9yIjogIndoaXRlIiwgIm1hcmtlckNvbG9yIjogImdyZWVuIiwgInByZWZpeCI6ICJnbHlwaGljb24ifQogICAgICAgICAgICApOwogICAgICAgICAgICBtYXJrZXJfOTY5MDMzY2FiMGE5NDJkZTlmMGE0Y2M2MmQzMzE2NzYuc2V0SWNvbihpY29uXzkxOWFkYzhkYjJjYjRkMWI4YWZhOWQzZWJhMGZlZDA0KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBwb3B1cF83Y2I5M2Y2YmU4NDM0MDBjYTQ3ZjM4YzQwNWZiODEyZiA9IEwucG9wdXAoeyJtYXhXaWR0aCI6ICIxMDAlIn0pOwoKICAgICAgICAKICAgICAgICAgICAgdmFyIGh0bWxfYjFmNmY1ZTZmZTUwNGM1NWFjNjUzMzVjMWZlOTRmMWIgPSAkKGA8ZGl2IGlkPSJodG1sX2IxZjZmNWU2ZmU1MDRjNTVhYzY1MzM1YzFmZTk0ZjFiIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5ZZWFyOiAyMDE3PGJyPk5hbWU6IFNpbmFidW5nPGJyPkNvdW50cnk6IEluZG9uZXNpYTxicj5UeXBlOiBTdHJhdG92b2xjYW5vPGJyPkNvb3JkaW5hdGVzOiBbMy4xNywgOTguMzkyMDAwMDAwMDAwMDFdPC9kaXY+YClbMF07CiAgICAgICAgICAgIHBvcHVwXzdjYjkzZjZiZTg0MzQwMGNhNDdmMzhjNDA1ZmI4MTJmLnNldENvbnRlbnQoaHRtbF9iMWY2ZjVlNmZlNTA0YzU1YWM2NTMzNWMxZmU5NGYxYik7CiAgICAgICAgCgogICAgICAgIG1hcmtlcl85NjkwMzNjYWIwYTk0MmRlOWYwYTRjYzYyZDMzMTY3Ni5iaW5kUG9wdXAocG9wdXBfN2NiOTNmNmJlODQzNDAwY2E0N2YzOGM0MDVmYjgxMmYpCiAgICAgICAgOwoKICAgICAgICAKICAgIAogICAgCiAgICAgICAgICAgIHZhciBtYXJrZXJfMjQ3MTdmMGJiODJhNDlhOTgxOGNiNjkzMDFjZTBkMmYgPSBMLm1hcmtlcigKICAgICAgICAgICAgICAgIFsxNC40NzI5OTk5OTk5OTk5OTksIC05MC44OF0sCiAgICAgICAgICAgICAgICB7fQogICAgICAgICAgICApLmFkZFRvKG1hcF9jZGYzMmFlMGRkZmM0ZjM5YjIwNzYzZDljZWUyYTg1ZSk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGljb25fMWM1NmU3YTdlYmJjNDNkYWIyYmVlYjY2ZTJkNDUwMjQgPSBMLkF3ZXNvbWVNYXJrZXJzLmljb24oCiAgICAgICAgICAgICAgICB7ImV4dHJhQ2xhc3NlcyI6ICJmYS1yb3RhdGUtMCIsICJpY29uIjogImluZm8tc2lnbiIsICJpY29uQ29sb3IiOiAid2hpdGUiLCAibWFya2VyQ29sb3IiOiAiZ3JlZW4iLCAicHJlZml4IjogImdseXBoaWNvbiJ9CiAgICAgICAgICAgICk7CiAgICAgICAgICAgIG1hcmtlcl8yNDcxN2YwYmI4MmE0OWE5ODE4Y2I2OTMwMWNlMGQyZi5zZXRJY29uKGljb25fMWM1NmU3YTdlYmJjNDNkYWIyYmVlYjY2ZTJkNDUwMjQpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIHBvcHVwXzYyOTQzZGE5YjlkNTRlNTJiYzkzNDBiZTA4Y2YzYWY5ID0gTC5wb3B1cCh7Im1heFdpZHRoIjogIjEwMCUifSk7CgogICAgICAgIAogICAgICAgICAgICB2YXIgaHRtbF9iNzU2MzE4YjI5NGM0OGFiODFkODE3OGY0OTMyNGM1NyA9ICQoYDxkaXYgaWQ9Imh0bWxfYjc1NjMxOGIyOTRjNDhhYjgxZDgxNzhmNDkzMjRjNTciIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPlllYXI6IDIwMTc8YnI+TmFtZTogRnVlZ288YnI+Q291bnRyeTogR3VhdGVtYWxhPGJyPlR5cGU6IFN0cmF0b3ZvbGNhbm88YnI+Q29vcmRpbmF0ZXM6IFsxNC40NzI5OTk5OTk5OTk5OTksIC05MC44OF08L2Rpdj5gKVswXTsKICAgICAgICAgICAgcG9wdXBfNjI5NDNkYTliOWQ1NGU1MmJjOTM0MGJlMDhjZjNhZjkuc2V0Q29udGVudChodG1sX2I3NTYzMThiMjk0YzQ4YWI4MWQ4MTc4ZjQ5MzI0YzU3KTsKICAgICAgICAKCiAgICAgICAgbWFya2VyXzI0NzE3ZjBiYjgyYTQ5YTk4MThjYjY5MzAxY2UwZDJmLmJpbmRQb3B1cChwb3B1cF82Mjk0M2RhOWI5ZDU0ZTUyYmM5MzQwYmUwOGNmM2FmOSkKICAgICAgICA7CgogICAgICAgIAogICAgCiAgICAKICAgICAgICAgICAgdmFyIG1hcmtlcl9iYTk4ZDdhMjlmNWY0YzEyOGFmN2Q2Mjg5ZGZkMzBmOCA9IEwubWFya2VyKAogICAgICAgICAgICAgICAgWy03LjIsIDEwOS45Ml0sCiAgICAgICAgICAgICAgICB7fQogICAgICAgICAgICApLmFkZFRvKG1hcF9jZGYzMmFlMGRkZmM0ZjM5YjIwNzYzZDljZWUyYTg1ZSk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGljb25fZjcwMzFlNDNjNDhhNDBiMzg5ZDM5MzZkZTY4MjVhZWEgPSBMLkF3ZXNvbWVNYXJrZXJzLmljb24oCiAgICAgICAgICAgICAgICB7ImV4dHJhQ2xhc3NlcyI6ICJmYS1yb3RhdGUtMCIsICJpY29uIjogImluZm8tc2lnbiIsICJpY29uQ29sb3IiOiAid2hpdGUiLCAibWFya2VyQ29sb3IiOiAiYmx1ZSIsICJwcmVmaXgiOiAiZ2x5cGhpY29uIn0KICAgICAgICAgICAgKTsKICAgICAgICAgICAgbWFya2VyX2JhOThkN2EyOWY1ZjRjMTI4YWY3ZDYyODlkZmQzMGY4LnNldEljb24oaWNvbl9mNzAzMWU0M2M0OGE0MGIzODlkMzkzNmRlNjgyNWFlYSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgcG9wdXBfMWE4NDMzYWMwZDYwNDIxN2E1YjRlN2IzNmVhYzZmOGEgPSBMLnBvcHVwKHsibWF4V2lkdGgiOiAiMTAwJSJ9KTsKCiAgICAgICAgCiAgICAgICAgICAgIHZhciBodG1sXzk4ZjNhM2QzZDhlMzRmYTg5NzA5NGNlNDhjODMyZmQ1ID0gJChgPGRpdiBpZD0iaHRtbF85OGYzYTNkM2Q4ZTM0ZmE4OTcwOTRjZTQ4YzgzMmZkNSIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+WWVhcjogMjAxNzxicj5OYW1lOiBEaWVuZyBWb2xjIENvbXBsZXg8YnI+Q291bnRyeTogSW5kb25lc2lhPGJyPlR5cGU6IENvbXBsZXggdm9sY2Fubzxicj5Db29yZGluYXRlczogWy03LjIsIDEwOS45Ml08L2Rpdj5gKVswXTsKICAgICAgICAgICAgcG9wdXBfMWE4NDMzYWMwZDYwNDIxN2E1YjRlN2IzNmVhYzZmOGEuc2V0Q29udGVudChodG1sXzk4ZjNhM2QzZDhlMzRmYTg5NzA5NGNlNDhjODMyZmQ1KTsKICAgICAgICAKCiAgICAgICAgbWFya2VyX2JhOThkN2EyOWY1ZjRjMTI4YWY3ZDYyODlkZmQzMGY4LmJpbmRQb3B1cChwb3B1cF8xYTg0MzNhYzBkNjA0MjE3YTViNGU3YjM2ZWFjNmY4YSkKICAgICAgICA7CgogICAgICAgIAogICAgCiAgICAKICAgICAgICAgICAgdmFyIG1hcmtlcl8zMWE3Zjc0NWJlNmM0ZDVlYjM5NGE1MTRlMTcxOTRjOCA9IEwubWFya2VyKAogICAgICAgICAgICAgICAgWzQwLjgyNywgMTQuMTM5MDAwMDAwMDAwMDAxXSwKICAgICAgICAgICAgICAgIHt9CiAgICAgICAgICAgICkuYWRkVG8obWFwX2NkZjMyYWUwZGRmYzRmMzliMjA3NjNkOWNlZTJhODVlKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgaWNvbl84OWEyNGNmYWNhZDU0YjRkOTQxNzhlNTkyNTJkOTQ2YiA9IEwuQXdlc29tZU1hcmtlcnMuaWNvbigKICAgICAgICAgICAgICAgIHsiZXh0cmFDbGFzc2VzIjogImZhLXJvdGF0ZS0wIiwgImljb24iOiAiaW5mby1zaWduIiwgImljb25Db2xvciI6ICJ3aGl0ZSIsICJtYXJrZXJDb2xvciI6ICJwdXJwbGUiLCAicHJlZml4IjogImdseXBoaWNvbiJ9CiAgICAgICAgICAgICk7CiAgICAgICAgICAgIG1hcmtlcl8zMWE3Zjc0NWJlNmM0ZDVlYjM5NGE1MTRlMTcxOTRjOC5zZXRJY29uKGljb25fODlhMjRjZmFjYWQ1NGI0ZDk0MTc4ZTU5MjUyZDk0NmIpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIHBvcHVwXzQwM2RhMDViOWQ5YTQ4MGNhYzM4ODk0NWQxY2IwNGRiID0gTC5wb3B1cCh7Im1heFdpZHRoIjogIjEwMCUifSk7CgogICAgICAgIAogICAgICAgICAgICB2YXIgaHRtbF9hOWExZWQ0ZDBkY2Q0ODUzYTM1ZTE0ZTg1ODNlMGY2ZiA9ICQoYDxkaXYgaWQ9Imh0bWxfYTlhMWVkNGQwZGNkNDg1M2EzNWUxNGU4NTgzZTBmNmYiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPlllYXI6IDIwMTc8YnI+TmFtZTogQ2FtcGkgRmxlZ3JlaTxicj5Db3VudHJ5OiBJdGFseTxicj5UeXBlOiBDYWxkZXJhPGJyPkNvb3JkaW5hdGVzOiBbNDAuODI3LCAxNC4xMzkwMDAwMDAwMDAwMDFdPC9kaXY+YClbMF07CiAgICAgICAgICAgIHBvcHVwXzQwM2RhMDViOWQ5YTQ4MGNhYzM4ODk0NWQxY2IwNGRiLnNldENvbnRlbnQoaHRtbF9hOWExZWQ0ZDBkY2Q0ODUzYTM1ZTE0ZTg1ODNlMGY2Zik7CiAgICAgICAgCgogICAgICAgIG1hcmtlcl8zMWE3Zjc0NWJlNmM0ZDVlYjM5NGE1MTRlMTcxOTRjOC5iaW5kUG9wdXAocG9wdXBfNDAzZGEwNWI5ZDlhNDgwY2FjMzg4OTQ1ZDFjYjA0ZGIpCiAgICAgICAgOwoKICAgICAgICAKICAgIAogICAgCiAgICAgICAgICAgIHZhciBtYXJrZXJfZjQzZmM1YjU1MWJhNDYzYmI1MDM3YzcyMDIwNTM3YTggPSBMLm1hcmtlcigKICAgICAgICAgICAgICAgIFstMTUuNCwgMTY3LjgzXSwKICAgICAgICAgICAgICAgIHt9CiAgICAgICAgICAgICkuYWRkVG8obWFwX2NkZjMyYWUwZGRmYzRmMzliMjA3NjNkOWNlZTJhODVlKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgaWNvbl9lYmEzYTg4NDhjZDc0NDdmYjY1NWNkN2IwYzQ1MzE1MCA9IEwuQXdlc29tZU1hcmtlcnMuaWNvbigKICAgICAgICAgICAgICAgIHsiZXh0cmFDbGFzc2VzIjogImZhLXJvdGF0ZS0wIiwgImljb24iOiAiaW5mby1zaWduIiwgImljb25Db2xvciI6ICJ3aGl0ZSIsICJtYXJrZXJDb2xvciI6ICJvcmFuZ2UiLCAicHJlZml4IjogImdseXBoaWNvbiJ9CiAgICAgICAgICAgICk7CiAgICAgICAgICAgIG1hcmtlcl9mNDNmYzViNTUxYmE0NjNiYjUwMzdjNzIwMjA1MzdhOC5zZXRJY29uKGljb25fZWJhM2E4ODQ4Y2Q3NDQ3ZmI2NTVjZDdiMGM0NTMxNTApOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIHBvcHVwX2Y3NTgwNjA0ZThlZTQxYzRiNWJlMDhjYWEyZGQ3OGJmID0gTC5wb3B1cCh7Im1heFdpZHRoIjogIjEwMCUifSk7CgogICAgICAgIAogICAgICAgICAgICB2YXIgaHRtbF8wZmM2MmU1YWMyYTY0NDAxYjMzNTc0ODUwMDJlZDI4OSA9ICQoYDxkaXYgaWQ9Imh0bWxfMGZjNjJlNWFjMmE2NDQwMWIzMzU3NDg1MDAyZWQyODkiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPlllYXI6IDIwMTc8YnI+TmFtZTogQW9iYTxicj5Db3VudHJ5OiBWYW51YXR1PGJyPlR5cGU6IFNoaWVsZCB2b2xjYW5vPGJyPkNvb3JkaW5hdGVzOiBbLTE1LjQsIDE2Ny44M108L2Rpdj5gKVswXTsKICAgICAgICAgICAgcG9wdXBfZjc1ODA2MDRlOGVlNDFjNGI1YmUwOGNhYTJkZDc4YmYuc2V0Q29udGVudChodG1sXzBmYzYyZTVhYzJhNjQ0MDFiMzM1NzQ4NTAwMmVkMjg5KTsKICAgICAgICAKCiAgICAgICAgbWFya2VyX2Y0M2ZjNWI1NTFiYTQ2M2JiNTAzN2M3MjAyMDUzN2E4LmJpbmRQb3B1cChwb3B1cF9mNzU4MDYwNGU4ZWU0MWM0YjViZTA4Y2FhMmRkNzhiZikKICAgICAgICA7CgogICAgICAgIAogICAgCiAgICAKICAgICAgICAgICAgdmFyIG1hcmtlcl9mY2YxODc1ZmNmZWI0ZDJmOGMyMTNhM2RjNTIxMmIyNCA9IEwubWFya2VyKAogICAgICAgICAgICAgICAgWy03LjU0MjAwMDAwMDAwMDAwMSwgMTEwLjQ0MjAwMDAwMDAwMDAxXSwKICAgICAgICAgICAgICAgIHt9CiAgICAgICAgICAgICkuYWRkVG8obWFwX2NkZjMyYWUwZGRmYzRmMzliMjA3NjNkOWNlZTJhODVlKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgaWNvbl9mZGJhM2U4MGJiNWM0NDhmOTUwZGEzNTA4MzA4MTk2MCA9IEwuQXdlc29tZU1hcmtlcnMuaWNvbigKICAgICAgICAgICAgICAgIHsiZXh0cmFDbGFzc2VzIjogImZhLXJvdGF0ZS0wIiwgImljb24iOiAiaW5mby1zaWduIiwgImljb25Db2xvciI6ICJ3aGl0ZSIsICJtYXJrZXJDb2xvciI6ICJncmVlbiIsICJwcmVmaXgiOiAiZ2x5cGhpY29uIn0KICAgICAgICAgICAgKTsKICAgICAgICAgICAgbWFya2VyX2ZjZjE4NzVmY2ZlYjRkMmY4YzIxM2EzZGM1MjEyYjI0LnNldEljb24oaWNvbl9mZGJhM2U4MGJiNWM0NDhmOTUwZGEzNTA4MzA4MTk2MCk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgcG9wdXBfZGI1MGNhYmRlNDZlNDNmY2EwZjQ0ZmY0M2ZjNDI0MDcgPSBMLnBvcHVwKHsibWF4V2lkdGgiOiAiMTAwJSJ9KTsKCiAgICAgICAgCiAgICAgICAgICAgIHZhciBodG1sX2I2ZmFkOTk5YTM3ODQzNWM4YWYwMWVhZWEwOWFiNTNmID0gJChgPGRpdiBpZD0iaHRtbF9iNmZhZDk5OWEzNzg0MzVjOGFmMDFlYWVhMDlhYjUzZiIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+WWVhcjogMjAxNzxicj5OYW1lOiBNZXJhcGk8YnI+Q291bnRyeTogSW5kb25lc2lhPGJyPlR5cGU6IFN0cmF0b3ZvbGNhbm88YnI+Q29vcmRpbmF0ZXM6IFstNy41NDIwMDAwMDAwMDAwMDEsIDExMC40NDIwMDAwMDAwMDAwMV08L2Rpdj5gKVswXTsKICAgICAgICAgICAgcG9wdXBfZGI1MGNhYmRlNDZlNDNmY2EwZjQ0ZmY0M2ZjNDI0MDcuc2V0Q29udGVudChodG1sX2I2ZmFkOTk5YTM3ODQzNWM4YWYwMWVhZWEwOWFiNTNmKTsKICAgICAgICAKCiAgICAgICAgbWFya2VyX2ZjZjE4NzVmY2ZlYjRkMmY4YzIxM2EzZGM1MjEyYjI0LmJpbmRQb3B1cChwb3B1cF9kYjUwY2FiZGU0NmU0M2ZjYTBmNDRmZjQzZmM0MjQwNykKICAgICAgICA7CgogICAgICAgIAogICAgCiAgICAKICAgICAgICAgICAgdmFyIG1hcmtlcl9lYTFlNGU0MjYzNjM0NDIyODg3ZDBmYmQzNTM1YjA3NiA9IEwubWFya2VyKAogICAgICAgICAgICAgICAgWzMuMTcsIDk4LjM5MjAwMDAwMDAwMDAxXSwKICAgICAgICAgICAgICAgIHt9CiAgICAgICAgICAgICkuYWRkVG8obWFwX2NkZjMyYWUwZGRmYzRmMzliMjA3NjNkOWNlZTJhODVlKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgaWNvbl82NzhmNTk0NWFjNWI0YjkwYjVkOGE2Njg3N2YwYmRhNSA9IEwuQXdlc29tZU1hcmtlcnMuaWNvbigKICAgICAgICAgICAgICAgIHsiZXh0cmFDbGFzc2VzIjogImZhLXJvdGF0ZS0wIiwgImljb24iOiAiaW5mby1zaWduIiwgImljb25Db2xvciI6ICJ3aGl0ZSIsICJtYXJrZXJDb2xvciI6ICJncmVlbiIsICJwcmVmaXgiOiAiZ2x5cGhpY29uIn0KICAgICAgICAgICAgKTsKICAgICAgICAgICAgbWFya2VyX2VhMWU0ZTQyNjM2MzQ0MjI4ODdkMGZiZDM1MzViMDc2LnNldEljb24oaWNvbl82NzhmNTk0NWFjNWI0YjkwYjVkOGE2Njg3N2YwYmRhNSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgcG9wdXBfZTgzYjM3NjUwMTI1NDQxN2E3MDhmNTZiYjNiMzkyYzAgPSBMLnBvcHVwKHsibWF4V2lkdGgiOiAiMTAwJSJ9KTsKCiAgICAgICAgCiAgICAgICAgICAgIHZhciBodG1sXzNmYmUxYTJmMjY2YzQ4YmZhYWFiODBlZGVjNWY1M2ViID0gJChgPGRpdiBpZD0iaHRtbF8zZmJlMWEyZjI2NmM0OGJmYWFhYjgwZWRlYzVmNTNlYiIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+WWVhcjogMjAxNzxicj5OYW1lOiBTaW5hYnVuZzxicj5Db3VudHJ5OiBJbmRvbmVzaWE8YnI+VHlwZTogU3RyYXRvdm9sY2Fubzxicj5Db29yZGluYXRlczogWzMuMTcsIDk4LjM5MjAwMDAwMDAwMDAxXTwvZGl2PmApWzBdOwogICAgICAgICAgICBwb3B1cF9lODNiMzc2NTAxMjU0NDE3YTcwOGY1NmJiM2IzOTJjMC5zZXRDb250ZW50KGh0bWxfM2ZiZTFhMmYyNjZjNDhiZmFhYWI4MGVkZWM1ZjUzZWIpOwogICAgICAgIAoKICAgICAgICBtYXJrZXJfZWExZTRlNDI2MzYzNDQyMjg4N2QwZmJkMzUzNWIwNzYuYmluZFBvcHVwKHBvcHVwX2U4M2IzNzY1MDEyNTQ0MTdhNzA4ZjU2YmIzYjM5MmMwKQogICAgICAgIDsKCiAgICAgICAgCiAgICAKICAgIAogICAgICAgICAgICB2YXIgbWFya2VyXzJhYjA1MTJlNTAwYzQyM2Q5YTBhZWJjOGViZTg0YmVjID0gTC5tYXJrZXIoCiAgICAgICAgICAgICAgICBbLTMuNjIsIDE0NC42Ml0sCiAgICAgICAgICAgICAgICB7fQogICAgICAgICAgICApLmFkZFRvKG1hcF9jZGYzMmFlMGRkZmM0ZjM5YjIwNzYzZDljZWUyYTg1ZSk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGljb25fNGFmMWUyNzU2MTMxNGRlNjk0ZmE2ZDJiMDJjZTVlNzkgPSBMLkF3ZXNvbWVNYXJrZXJzLmljb24oCiAgICAgICAgICAgICAgICB7ImV4dHJhQ2xhc3NlcyI6ICJmYS1yb3RhdGUtMCIsICJpY29uIjogImluZm8tc2lnbiIsICJpY29uQ29sb3IiOiAid2hpdGUiLCAibWFya2VyQ29sb3IiOiAiZ3JlZW4iLCAicHJlZml4IjogImdseXBoaWNvbiJ9CiAgICAgICAgICAgICk7CiAgICAgICAgICAgIG1hcmtlcl8yYWIwNTEyZTUwMGM0MjNkOWEwYWViYzhlYmU4NGJlYy5zZXRJY29uKGljb25fNGFmMWUyNzU2MTMxNGRlNjk0ZmE2ZDJiMDJjZTVlNzkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIHBvcHVwX2M2ZDdlY2Y4MTU5NjQ0MWI4NGFkODFiOTM0NDU0ZTYzID0gTC5wb3B1cCh7Im1heFdpZHRoIjogIjEwMCUifSk7CgogICAgICAgIAogICAgICAgICAgICB2YXIgaHRtbF80MzdiZWQwOTNmYWY0YmFlOTUyM2ExNzA4YjRhMjZlNyA9ICQoYDxkaXYgaWQ9Imh0bWxfNDM3YmVkMDkzZmFmNGJhZTk1MjNhMTcwOGI0YTI2ZTciIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPlllYXI6IDIwMTg8YnI+TmFtZTogS2Fkb3Zhcjxicj5Db3VudHJ5OiBQYXB1YSBOZXcgR3VpbmVhPGJyPlR5cGU6IFN0cmF0b3ZvbGNhbm88YnI+Q29vcmRpbmF0ZXM6IFstMy42MiwgMTQ0LjYyXTwvZGl2PmApWzBdOwogICAgICAgICAgICBwb3B1cF9jNmQ3ZWNmODE1OTY0NDFiODRhZDgxYjkzNDQ1NGU2My5zZXRDb250ZW50KGh0bWxfNDM3YmVkMDkzZmFmNGJhZTk1MjNhMTcwOGI0YTI2ZTcpOwogICAgICAgIAoKICAgICAgICBtYXJrZXJfMmFiMDUxMmU1MDBjNDIzZDlhMGFlYmM4ZWJlODRiZWMuYmluZFBvcHVwKHBvcHVwX2M2ZDdlY2Y4MTU5NjQ0MWI4NGFkODFiOTM0NDU0ZTYzKQogICAgICAgIDsKCiAgICAgICAgCiAgICAKICAgIAogICAgICAgICAgICB2YXIgbWFya2VyX2FiYzdiNWQ1ZDY5NzQzMDE4MDFhODZlYTFkZWNjNWUzID0gTC5tYXJrZXIoCiAgICAgICAgICAgICAgICBbMTMuMjU3LCAxMjMuNjg1XSwKICAgICAgICAgICAgICAgIHt9CiAgICAgICAgICAgICkuYWRkVG8obWFwX2NkZjMyYWUwZGRmYzRmMzliMjA3NjNkOWNlZTJhODVlKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgaWNvbl80MmM4NTIyNWQxNWU0YTQ5ODI5NmMxYjlhNDZlZjgzNiA9IEwuQXdlc29tZU1hcmtlcnMuaWNvbigKICAgICAgICAgICAgICAgIHsiZXh0cmFDbGFzc2VzIjogImZhLXJvdGF0ZS0wIiwgImljb24iOiAiaW5mby1zaWduIiwgImljb25Db2xvciI6ICJ3aGl0ZSIsICJtYXJrZXJDb2xvciI6ICJncmVlbiIsICJwcmVmaXgiOiAiZ2x5cGhpY29uIn0KICAgICAgICAgICAgKTsKICAgICAgICAgICAgbWFya2VyX2FiYzdiNWQ1ZDY5NzQzMDE4MDFhODZlYTFkZWNjNWUzLnNldEljb24oaWNvbl80MmM4NTIyNWQxNWU0YTQ5ODI5NmMxYjlhNDZlZjgzNik7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgcG9wdXBfN2U4ZTVjOTZjM2JkNDAzYzgxYzY1OGUyNDhlMzQwMTggPSBMLnBvcHVwKHsibWF4V2lkdGgiOiAiMTAwJSJ9KTsKCiAgICAgICAgCiAgICAgICAgICAgIHZhciBodG1sX2Y1ZTc5ZDY4NzY0ZjRkMTliMTUwNzhlZTQzOWVkMzI1ID0gJChgPGRpdiBpZD0iaHRtbF9mNWU3OWQ2ODc2NGY0ZDE5YjE1MDc4ZWU0MzllZDMyNSIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+WWVhcjogMjAxODxicj5OYW1lOiBNYXlvbjxicj5Db3VudHJ5OiBQaGlsaXBwaW5lczxicj5UeXBlOiBTdHJhdG92b2xjYW5vPGJyPkNvb3JkaW5hdGVzOiBbMTMuMjU3LCAxMjMuNjg1XTwvZGl2PmApWzBdOwogICAgICAgICAgICBwb3B1cF83ZThlNWM5NmMzYmQ0MDNjODFjNjU4ZTI0OGUzNDAxOC5zZXRDb250ZW50KGh0bWxfZjVlNzlkNjg3NjRmNGQxOWIxNTA3OGVlNDM5ZWQzMjUpOwogICAgICAgIAoKICAgICAgICBtYXJrZXJfYWJjN2I1ZDVkNjk3NDMwMTgwMWE4NmVhMWRlY2M1ZTMuYmluZFBvcHVwKHBvcHVwXzdlOGU1Yzk2YzNiZDQwM2M4MWM2NThlMjQ4ZTM0MDE4KQogICAgICAgIDsKCiAgICAgICAgCiAgICAKICAgIAogICAgICAgICAgICB2YXIgbWFya2VyX2E0YjkwZWZhZWRkYjRlZDBhZTI3NzY2OTdhNmE5MGZkID0gTC5tYXJrZXIoCiAgICAgICAgICAgICAgICBbMzYuNjIsIDEzOC41NV0sCiAgICAgICAgICAgICAgICB7fQogICAgICAgICAgICApLmFkZFRvKG1hcF9jZGYzMmFlMGRkZmM0ZjM5YjIwNzYzZDljZWUyYTg1ZSk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGljb25fNDYwMmM2NjhkMDAzNDlkZmI0NWU0NzQxYWJiMDg4Y2UgPSBMLkF3ZXNvbWVNYXJrZXJzLmljb24oCiAgICAgICAgICAgICAgICB7ImV4dHJhQ2xhc3NlcyI6ICJmYS1yb3RhdGUtMCIsICJpY29uIjogImluZm8tc2lnbiIsICJpY29uQ29sb3IiOiAid2hpdGUiLCAibWFya2VyQ29sb3IiOiAiZ3JlZW4iLCAicHJlZml4IjogImdseXBoaWNvbiJ9CiAgICAgICAgICAgICk7CiAgICAgICAgICAgIG1hcmtlcl9hNGI5MGVmYWVkZGI0ZWQwYWUyNzc2Njk3YTZhOTBmZC5zZXRJY29uKGljb25fNDYwMmM2NjhkMDAzNDlkZmI0NWU0NzQxYWJiMDg4Y2UpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIHBvcHVwX2Q3YTdmYzBkZDA1ODQxZDBiOGVlMTFiNDBmZTYxZmQ2ID0gTC5wb3B1cCh7Im1heFdpZHRoIjogIjEwMCUifSk7CgogICAgICAgIAogICAgICAgICAgICB2YXIgaHRtbF84YmUwYTdjNmZlYTI0YjM0ODI2ZDZiMDU3YTcwYzhmMCA9ICQoYDxkaXYgaWQ9Imh0bWxfOGJlMGE3YzZmZWEyNGIzNDgyNmQ2YjA1N2E3MGM4ZjAiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPlllYXI6IDIwMTg8YnI+TmFtZTogS3VzYXRzdS1TaGlyYW5lPGJyPkNvdW50cnk6IEphcGFuPGJyPlR5cGU6IFN0cmF0b3ZvbGNhbm88YnI+Q29vcmRpbmF0ZXM6IFszNi42MiwgMTM4LjU1XTwvZGl2PmApWzBdOwogICAgICAgICAgICBwb3B1cF9kN2E3ZmMwZGQwNTg0MWQwYjhlZTExYjQwZmU2MWZkNi5zZXRDb250ZW50KGh0bWxfOGJlMGE3YzZmZWEyNGIzNDgyNmQ2YjA1N2E3MGM4ZjApOwogICAgICAgIAoKICAgICAgICBtYXJrZXJfYTRiOTBlZmFlZGRiNGVkMGFlMjc3NjY5N2E2YTkwZmQuYmluZFBvcHVwKHBvcHVwX2Q3YTdmYzBkZDA1ODQxZDBiOGVlMTFiNDBmZTYxZmQ2KQogICAgICAgIDsKCiAgICAgICAgCiAgICAKICAgIAogICAgICAgICAgICB2YXIgbWFya2VyXzM1NzhiZWRjZjQwODQ4NzFiMzZiNzMxZmM3MjAxYmU5ID0gTC5tYXJrZXIoCiAgICAgICAgICAgICAgICBbMTkuNDI1LCAtMTU1LjI5Ml0sCiAgICAgICAgICAgICAgICB7fQogICAgICAgICAgICApLmFkZFRvKG1hcF9jZGYzMmFlMGRkZmM0ZjM5YjIwNzYzZDljZWUyYTg1ZSk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGljb25fYjhmY2QzMDc4NzZjNDcxMGEyMzAyZTYxNjc4N2VkZTIgPSBMLkF3ZXNvbWVNYXJrZXJzLmljb24oCiAgICAgICAgICAgICAgICB7ImV4dHJhQ2xhc3NlcyI6ICJmYS1yb3RhdGUtMCIsICJpY29uIjogImluZm8tc2lnbiIsICJpY29uQ29sb3IiOiAid2hpdGUiLCAibWFya2VyQ29sb3IiOiAib3JhbmdlIiwgInByZWZpeCI6ICJnbHlwaGljb24ifQogICAgICAgICAgICApOwogICAgICAgICAgICBtYXJrZXJfMzU3OGJlZGNmNDA4NDg3MWIzNmI3MzFmYzcyMDFiZTkuc2V0SWNvbihpY29uX2I4ZmNkMzA3ODc2YzQ3MTBhMjMwMmU2MTY3ODdlZGUyKTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBwb3B1cF84YjRhMzIyNzUyZDk0MThkOTRjNzY5MTc4Mjk5Mzc1MCA9IEwucG9wdXAoeyJtYXhXaWR0aCI6ICIxMDAlIn0pOwoKICAgICAgICAKICAgICAgICAgICAgdmFyIGh0bWxfN2E5MTM3MDNlMDBjNDQzZmE2MjVhZDA0YTZhMGNjNTcgPSAkKGA8ZGl2IGlkPSJodG1sXzdhOTEzNzAzZTAwYzQ0M2ZhNjI1YWQwNGE2YTBjYzU3IiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5ZZWFyOiAyMDE4PGJyPk5hbWU6IEtpbGF1ZWE8YnI+Q291bnRyeTogVW5pdGVkIFN0YXRlczxicj5UeXBlOiBTaGllbGQgdm9sY2Fubzxicj5Db29yZGluYXRlczogWzE5LjQyNSwgLTE1NS4yOTJdPC9kaXY+YClbMF07CiAgICAgICAgICAgIHBvcHVwXzhiNGEzMjI3NTJkOTQxOGQ5NGM3NjkxNzgyOTkzNzUwLnNldENvbnRlbnQoaHRtbF83YTkxMzcwM2UwMGM0NDNmYTYyNWFkMDRhNmEwY2M1Nyk7CiAgICAgICAgCgogICAgICAgIG1hcmtlcl8zNTc4YmVkY2Y0MDg0ODcxYjM2YjczMWZjNzIwMWJlOS5iaW5kUG9wdXAocG9wdXBfOGI0YTMyMjc1MmQ5NDE4ZDk0Yzc2OTE3ODI5OTM3NTApCiAgICAgICAgOwoKICAgICAgICAKICAgIAogICAgCiAgICAgICAgICAgIHZhciBtYXJrZXJfZjIwNDYxZmVlNzE2NDk3MTk0NTdjOWU0ZTg2Y2UyMzAgPSBMLm1hcmtlcigKICAgICAgICAgICAgICAgIFstMy42MiwgMTQ0LjYyXSwKICAgICAgICAgICAgICAgIHt9CiAgICAgICAgICAgICkuYWRkVG8obWFwX2NkZjMyYWUwZGRmYzRmMzliMjA3NjNkOWNlZTJhODVlKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgaWNvbl85MmM0OWJjNzk5Yjg0NTc1OTFlZTI4NzNhODU5MzMzMyA9IEwuQXdlc29tZU1hcmtlcnMuaWNvbigKICAgICAgICAgICAgICAgIHsiZXh0cmFDbGFzc2VzIjogImZhLXJvdGF0ZS0wIiwgImljb24iOiAiaW5mby1zaWduIiwgImljb25Db2xvciI6ICJ3aGl0ZSIsICJtYXJrZXJDb2xvciI6ICJncmVlbiIsICJwcmVmaXgiOiAiZ2x5cGhpY29uIn0KICAgICAgICAgICAgKTsKICAgICAgICAgICAgbWFya2VyX2YyMDQ2MWZlZTcxNjQ5NzE5NDU3YzllNGU4NmNlMjMwLnNldEljb24oaWNvbl85MmM0OWJjNzk5Yjg0NTc1OTFlZTI4NzNhODU5MzMzMyk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgcG9wdXBfZDEzZGNkNDQyMTU4NDQwY2EwNWM3Njc0MjIzZDk5ZjAgPSBMLnBvcHVwKHsibWF4V2lkdGgiOiAiMTAwJSJ9KTsKCiAgICAgICAgCiAgICAgICAgICAgIHZhciBodG1sXzY4NThjZTA1M2JkYjQwMDZiMjk3YTFiYmM1MjJmODE3ID0gJChgPGRpdiBpZD0iaHRtbF82ODU4Y2UwNTNiZGI0MDA2YjI5N2ExYmJjNTIyZjgxNyIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+WWVhcjogMjAxODxicj5OYW1lOiBLYWRvdmFyPGJyPkNvdW50cnk6IFBhcHVhIE5ldyBHdWluZWE8YnI+VHlwZTogU3RyYXRvdm9sY2Fubzxicj5Db29yZGluYXRlczogWy0zLjYyLCAxNDQuNjJdPC9kaXY+YClbMF07CiAgICAgICAgICAgIHBvcHVwX2QxM2RjZDQ0MjE1ODQ0MGNhMDVjNzY3NDIyM2Q5OWYwLnNldENvbnRlbnQoaHRtbF82ODU4Y2UwNTNiZGI0MDA2YjI5N2ExYmJjNTIyZjgxNyk7CiAgICAgICAgCgogICAgICAgIG1hcmtlcl9mMjA0NjFmZWU3MTY0OTcxOTQ1N2M5ZTRlODZjZTIzMC5iaW5kUG9wdXAocG9wdXBfZDEzZGNkNDQyMTU4NDQwY2EwNWM3Njc0MjIzZDk5ZjApCiAgICAgICAgOwoKICAgICAgICAKICAgIAogICAgCiAgICAgICAgICAgIHZhciBtYXJrZXJfYjM2OWExZjZiYWFhNGJjOGJiNmYzMjc3MTQxOGM2ZjMgPSBMLm1hcmtlcigKICAgICAgICAgICAgICAgIFstOC4wNTgsIDExNC4yNDJdLAogICAgICAgICAgICAgICAge30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfY2RmMzJhZTBkZGZjNGYzOWIyMDc2M2Q5Y2VlMmE4NWUpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBpY29uXzg1OTNjMDMzNTUwMTQxYjI4NzY4YTNjZGViYjljNWY5ID0gTC5Bd2Vzb21lTWFya2Vycy5pY29uKAogICAgICAgICAgICAgICAgeyJleHRyYUNsYXNzZXMiOiAiZmEtcm90YXRlLTAiLCAiaWNvbiI6ICJpbmZvLXNpZ24iLCAiaWNvbkNvbG9yIjogIndoaXRlIiwgIm1hcmtlckNvbG9yIjogImdyZWVuIiwgInByZWZpeCI6ICJnbHlwaGljb24ifQogICAgICAgICAgICApOwogICAgICAgICAgICBtYXJrZXJfYjM2OWExZjZiYWFhNGJjOGJiNmYzMjc3MTQxOGM2ZjMuc2V0SWNvbihpY29uXzg1OTNjMDMzNTUwMTQxYjI4NzY4YTNjZGViYjljNWY5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBwb3B1cF83MTQ0NTViYjg4OGE0MDMxOWFjNzAyNWRjZDJlODhkNiA9IEwucG9wdXAoeyJtYXhXaWR0aCI6ICIxMDAlIn0pOwoKICAgICAgICAKICAgICAgICAgICAgdmFyIGh0bWxfZjBjY2U3NzE1ODE4NGRmYzkyY2IyNTMyOGYzZmQ3ZmEgPSAkKGA8ZGl2IGlkPSJodG1sX2YwY2NlNzcxNTgxODRkZmM5MmNiMjUzMjhmM2ZkN2ZhIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5ZZWFyOiAyMDE4PGJyPk5hbWU6IElqZW48YnI+Q291bnRyeTogSW5kb25lc2lhPGJyPlR5cGU6IFN0cmF0b3ZvbGNhbm88YnI+Q29vcmRpbmF0ZXM6IFstOC4wNTgsIDExNC4yNDJdPC9kaXY+YClbMF07CiAgICAgICAgICAgIHBvcHVwXzcxNDQ1NWJiODg4YTQwMzE5YWM3MDI1ZGNkMmU4OGQ2LnNldENvbnRlbnQoaHRtbF9mMGNjZTc3MTU4MTg0ZGZjOTJjYjI1MzI4ZjNmZDdmYSk7CiAgICAgICAgCgogICAgICAgIG1hcmtlcl9iMzY5YTFmNmJhYWE0YmM4YmI2ZjMyNzcxNDE4YzZmMy5iaW5kUG9wdXAocG9wdXBfNzE0NDU1YmI4ODhhNDAzMTlhYzcwMjVkY2QyZTg4ZDYpCiAgICAgICAgOwoKICAgICAgICAKICAgIAogICAgCiAgICAgICAgICAgIHZhciBtYXJrZXJfMGY0NWE5OGI3M2IzNDU2ZDgyNTdiYWIwMzYyYmFmZjYgPSBMLm1hcmtlcigKICAgICAgICAgICAgICAgIFsxOS40MjUsIC0xNTUuMjkyXSwKICAgICAgICAgICAgICAgIHt9CiAgICAgICAgICAgICkuYWRkVG8obWFwX2NkZjMyYWUwZGRmYzRmMzliMjA3NjNkOWNlZTJhODVlKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgaWNvbl80YTNhMDFjMWY5ZTI0ZDFjODA0Y2Q0ZGNmZjJkYTM1YiA9IEwuQXdlc29tZU1hcmtlcnMuaWNvbigKICAgICAgICAgICAgICAgIHsiZXh0cmFDbGFzc2VzIjogImZhLXJvdGF0ZS0wIiwgImljb24iOiAiaW5mby1zaWduIiwgImljb25Db2xvciI6ICJ3aGl0ZSIsICJtYXJrZXJDb2xvciI6ICJvcmFuZ2UiLCAicHJlZml4IjogImdseXBoaWNvbiJ9CiAgICAgICAgICAgICk7CiAgICAgICAgICAgIG1hcmtlcl8wZjQ1YTk4YjczYjM0NTZkODI1N2JhYjAzNjJiYWZmNi5zZXRJY29uKGljb25fNGEzYTAxYzFmOWUyNGQxYzgwNGNkNGRjZmYyZGEzNWIpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIHBvcHVwX2I1NzMwZWE5Nzc4YjQ5ZGE5ODcwYWY2OTkyNzVlMzdhID0gTC5wb3B1cCh7Im1heFdpZHRoIjogIjEwMCUifSk7CgogICAgICAgIAogICAgICAgICAgICB2YXIgaHRtbF84OGZmODZkZWMyNmY0ZDhhODdiMDcwYTBiMWNhMTgwZiA9ICQoYDxkaXYgaWQ9Imh0bWxfODhmZjg2ZGVjMjZmNGQ4YTg3YjA3MGEwYjFjYTE4MGYiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPlllYXI6IDIwMTg8YnI+TmFtZTogS2lsYXVlYTxicj5Db3VudHJ5OiBVbml0ZWQgU3RhdGVzPGJyPlR5cGU6IFNoaWVsZCB2b2xjYW5vPGJyPkNvb3JkaW5hdGVzOiBbMTkuNDI1LCAtMTU1LjI5Ml08L2Rpdj5gKVswXTsKICAgICAgICAgICAgcG9wdXBfYjU3MzBlYTk3NzhiNDlkYTk4NzBhZjY5OTI3NWUzN2Euc2V0Q29udGVudChodG1sXzg4ZmY4NmRlYzI2ZjRkOGE4N2IwNzBhMGIxY2ExODBmKTsKICAgICAgICAKCiAgICAgICAgbWFya2VyXzBmNDVhOThiNzNiMzQ1NmQ4MjU3YmFiMDM2MmJhZmY2LmJpbmRQb3B1cChwb3B1cF9iNTczMGVhOTc3OGI0OWRhOTg3MGFmNjk5Mjc1ZTM3YSkKICAgICAgICA7CgogICAgICAgIAogICAgCiAgICAKICAgICAgICAgICAgdmFyIG1hcmtlcl9iMTY1ODAxOWUzNmU0MjgzOThjZmU0MmFjNjdmNWU1MSA9IEwubWFya2VyKAogICAgICAgICAgICAgICAgWy0xNS40LCAxNjcuODNdLAogICAgICAgICAgICAgICAge30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfY2RmMzJhZTBkZGZjNGYzOWIyMDc2M2Q5Y2VlMmE4NWUpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBpY29uXzkzZjgyMWU4ZDRjNTRhNWU5YTY4MDk5MGE3YTMzN2YzID0gTC5Bd2Vzb21lTWFya2Vycy5pY29uKAogICAgICAgICAgICAgICAgeyJleHRyYUNsYXNzZXMiOiAiZmEtcm90YXRlLTAiLCAiaWNvbiI6ICJpbmZvLXNpZ24iLCAiaWNvbkNvbG9yIjogIndoaXRlIiwgIm1hcmtlckNvbG9yIjogIm9yYW5nZSIsICJwcmVmaXgiOiAiZ2x5cGhpY29uIn0KICAgICAgICAgICAgKTsKICAgICAgICAgICAgbWFya2VyX2IxNjU4MDE5ZTM2ZTQyODM5OGNmZTQyYWM2N2Y1ZTUxLnNldEljb24oaWNvbl85M2Y4MjFlOGQ0YzU0YTVlOWE2ODA5OTBhN2EzMzdmMyk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgcG9wdXBfNTYxNWI3MWQ4MzRjNDM4ODhlMjA3YmJmYmIxODIxNDIgPSBMLnBvcHVwKHsibWF4V2lkdGgiOiAiMTAwJSJ9KTsKCiAgICAgICAgCiAgICAgICAgICAgIHZhciBodG1sXzhjMTYyMzcwNmZkNTQ4NWRiNjU4Mjc5NmY3NGMwMjJiID0gJChgPGRpdiBpZD0iaHRtbF84YzE2MjM3MDZmZDU0ODVkYjY1ODI3OTZmNzRjMDIyYiIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+WWVhcjogMjAxODxicj5OYW1lOiBBb2JhPGJyPkNvdW50cnk6IFZhbnVhdHU8YnI+VHlwZTogU2hpZWxkIHZvbGNhbm88YnI+Q29vcmRpbmF0ZXM6IFstMTUuNCwgMTY3LjgzXTwvZGl2PmApWzBdOwogICAgICAgICAgICBwb3B1cF81NjE1YjcxZDgzNGM0Mzg4OGUyMDdiYmZiYjE4MjE0Mi5zZXRDb250ZW50KGh0bWxfOGMxNjIzNzA2ZmQ1NDg1ZGI2NTgyNzk2Zjc0YzAyMmIpOwogICAgICAgIAoKICAgICAgICBtYXJrZXJfYjE2NTgwMTllMzZlNDI4Mzk4Y2ZlNDJhYzY3ZjVlNTEuYmluZFBvcHVwKHBvcHVwXzU2MTViNzFkODM0YzQzODg4ZTIwN2JiZmJiMTgyMTQyKQogICAgICAgIDsKCiAgICAgICAgCiAgICAKPC9zY3JpcHQ+\" style=\"position:absolute;width:100%;height:100%;left:0;top:0;border:none !important;\" allowfullscreen webkitallowfullscreen mozallowfullscreen></iframe></div></div>"
      ],
      "text/plain": [
       "<folium.folium.Map at 0x7f252e094668>"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "map"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Heatmaps\n",
    "\n",
    "Folium is well known for it's heatmap which create a heatmap layer. To plot a heat map in folium, one needs a list of Latitude, Longitude."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div style=\"width:100%;\"><div style=\"position:relative;width:100%;height:0;padding-bottom:60%;\"><iframe src=\"data:text/html;charset=utf-8;base64,PCFET0NUWVBFIGh0bWw+CjxoZWFkPiAgICAKICAgIDxtZXRhIGh0dHAtZXF1aXY9ImNvbnRlbnQtdHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04IiAvPgogICAgCiAgICAgICAgPHNjcmlwdD4KICAgICAgICAgICAgTF9OT19UT1VDSCA9IGZhbHNlOwogICAgICAgICAgICBMX0RJU0FCTEVfM0QgPSBmYWxzZTsKICAgICAgICA8L3NjcmlwdD4KICAgIAogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vbGVhZmxldEAxLjQuMC9kaXN0L2xlYWZsZXQuanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY29kZS5qcXVlcnkuY29tL2pxdWVyeS0xLjEyLjQubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2Jvb3RzdHJhcC8zLjIuMC9qcy9ib290c3RyYXAubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9MZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy8yLjAuMi9sZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy5qcyI+PC9zY3JpcHQ+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vbGVhZmxldEAxLjQuMC9kaXN0L2xlYWZsZXQuY3NzIi8+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vbWF4Y2RuLmJvb3RzdHJhcGNkbi5jb20vYm9vdHN0cmFwLzMuMi4wL2Nzcy9ib290c3RyYXAubWluLmNzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2Jvb3RzdHJhcC8zLjIuMC9jc3MvYm9vdHN0cmFwLXRoZW1lLm1pbi5jc3MiLz4KICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9tYXhjZG4uYm9vdHN0cmFwY2RuLmNvbS9mb250LWF3ZXNvbWUvNC42LjMvY3NzL2ZvbnQtYXdlc29tZS5taW4uY3NzIi8+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL0xlYWZsZXQuYXdlc29tZS1tYXJrZXJzLzIuMC4yL2xlYWZsZXQuYXdlc29tZS1tYXJrZXJzLmNzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL3Jhd2Nkbi5naXRoYWNrLmNvbS9weXRob24tdmlzdWFsaXphdGlvbi9mb2xpdW0vbWFzdGVyL2ZvbGl1bS90ZW1wbGF0ZXMvbGVhZmxldC5hd2Vzb21lLnJvdGF0ZS5jc3MiLz4KICAgIDxzdHlsZT5odG1sLCBib2R5IHt3aWR0aDogMTAwJTtoZWlnaHQ6IDEwMCU7bWFyZ2luOiAwO3BhZGRpbmc6IDA7fTwvc3R5bGU+CiAgICA8c3R5bGU+I21hcCB7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7cmlnaHQ6MDtsZWZ0OjA7fTwvc3R5bGU+CiAgICAKICAgICAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwKICAgICAgICAgICAgICAgIGluaXRpYWwtc2NhbGU9MS4wLCBtYXhpbXVtLXNjYWxlPTEuMCwgdXNlci1zY2FsYWJsZT1ubyIgLz4KICAgICAgICAgICAgPHN0eWxlPgogICAgICAgICAgICAgICAgI21hcF81ODVmMDYzODcyMTY0M2Q2YmI2NzIzMDAwNjA1MWNmNyB7CiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAuMCU7CiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAuMCU7CiAgICAgICAgICAgICAgICAgICAgbGVmdDogMC4wJTsKICAgICAgICAgICAgICAgICAgICB0b3A6IDAuMCU7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIDwvc3R5bGU+CiAgICAgICAgCiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9sZWFmbGV0LmdpdGh1Yi5pby9MZWFmbGV0LmhlYXQvZGlzdC9sZWFmbGV0LWhlYXQuanMiPjwvc2NyaXB0Pgo8L2hlYWQ+Cjxib2R5PiAgICAKICAgIAogICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb2xpdW0tbWFwIiBpZD0ibWFwXzU4NWYwNjM4NzIxNjQzZDZiYjY3MjMwMDA2MDUxY2Y3IiA+PC9kaXY+CiAgICAgICAgCjwvYm9keT4KPHNjcmlwdD4gICAgCiAgICAKICAgICAgICAgICAgdmFyIG1hcF81ODVmMDYzODcyMTY0M2Q2YmI2NzIzMDAwNjA1MWNmNyA9IEwubWFwKAogICAgICAgICAgICAgICAgIm1hcF81ODVmMDYzODcyMTY0M2Q2YmI2NzIzMDAwNjA1MWNmNyIsCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgY2VudGVyOiBbMTUuMCwgMzAuMF0sCiAgICAgICAgICAgICAgICAgICAgY3JzOiBMLkNSUy5FUFNHMzg1NywKICAgICAgICAgICAgICAgICAgICB6b29tOiAyLAogICAgICAgICAgICAgICAgICAgIHpvb21Db250cm9sOiB0cnVlLAogICAgICAgICAgICAgICAgICAgIHByZWZlckNhbnZhczogZmFsc2UsCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICk7CgogICAgICAgICAgICAKCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHRpbGVfbGF5ZXJfOWE2ZjEwYTRlZTZiNDQwODk0NGRhN2ZkNzMzMjNkM2QgPSBMLnRpbGVMYXllcigKICAgICAgICAgICAgICAgICJodHRwczovL2NhcnRvZGItYmFzZW1hcHMte3N9Lmdsb2JhbC5zc2wuZmFzdGx5Lm5ldC9kYXJrX2FsbC97en0ve3h9L3t5fS5wbmciLAogICAgICAgICAgICAgICAgeyJhdHRyaWJ1dGlvbiI6ICJcdTAwMjZjb3B5OyBcdTAwM2NhIGhyZWY9XCJodHRwOi8vd3d3Lm9wZW5zdHJlZXRtYXAub3JnL2NvcHlyaWdodFwiXHUwMDNlT3BlblN0cmVldE1hcFx1MDAzYy9hXHUwMDNlIGNvbnRyaWJ1dG9ycyBcdTAwMjZjb3B5OyBcdTAwM2NhIGhyZWY9XCJodHRwOi8vY2FydG9kYi5jb20vYXR0cmlidXRpb25zXCJcdTAwM2VDYXJ0b0RCXHUwMDNjL2FcdTAwM2UsIENhcnRvREIgXHUwMDNjYSBocmVmID1cImh0dHA6Ly9jYXJ0b2RiLmNvbS9hdHRyaWJ1dGlvbnNcIlx1MDAzZWF0dHJpYnV0aW9uc1x1MDAzYy9hXHUwMDNlIiwgImRldGVjdFJldGluYSI6IGZhbHNlLCAibWF4TmF0aXZlWm9vbSI6IDE4LCAibWF4Wm9vbSI6IDE4LCAibWluWm9vbSI6IDAsICJub1dyYXAiOiBmYWxzZSwgIm9wYWNpdHkiOiAxLCAic3ViZG9tYWlucyI6ICJhYmMiLCAidG1zIjogZmFsc2V9CiAgICAgICAgICAgICkuYWRkVG8obWFwXzU4NWYwNjM4NzIxNjQzZDZiYjY3MjMwMDA2MDUxY2Y3KTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgaGVhdF9tYXBfNzYwOWNiZjg2ODY1NDIwNmE5YWNmOWQyNWE1Mjg3ODggPSBMLmhlYXRMYXllcigKICAgICAgICAgICAgICAgIFtbLTEuNDY2OTk5OTk5OTk5OTk5OSwgLTc4LjQ0Ml0sIFs2My42MywgLTE5LjYyXSwgWzE0LjM4MDk5OTk5OTk5OTk5OCwgLTkwLjYwMV0sIFsxNi43MDgsIDE0NS43OF0sIFsyLjc4LCAxMjUuNDhdLCBbMy4xNywgOTguMzkyMDAwMDAwMDAwMDFdLCBbLTcuNTQyMDAwMDAwMDAwMDAxLCAxMTAuNDQyMDAwMDAwMDAwMDFdLCBbLTEuNDY2OTk5OTk5OTk5OTk5OSwgLTc4LjQ0Ml0sIFstNy45NDIsIDExMi45NV0sIFstNy41NDIwMDAwMDAwMDAwMDEsIDExMC40NDIwMDAwMDAwMDAwMV0sIFszMS45MywgMTMwLjg3XSwgWzEyLjc3LCAxMjQuMDVdLCBbMi43OCwgMTI1LjQ4XSwgWy0xLjQ2Njk5OTk5OTk5OTk5OTksIC03OC40NDJdLCBbLTQwLjU5LCAtNzIuMTE3XSwgWzEzLjM3LCA0MS43XSwgWzYzLjYzLCAtMTkuMDVdLCBbMS4zNTgsIDEyNC43OTJdLCBbMC44LCAxMjcuMzI1XSwgWzE5LjQyNSwgLTE1NS4yOTJdLCBbMTkuNDI1LCAtMTU1LjI5Ml0sIFs1NS44MywgMTYwLjMzXSwgWy03LjU0MjAwMDAwMDAwMDAwMSwgMTEwLjQ0MjAwMDAwMDAwMDAxXSwgWy04LjMyLCAxMjEuNzA4XSwgWzEzLjI1NywgMTIzLjY4NV0sIFstOC4zMiwgMTIxLjcwOF0sIFstMTYuMzU1LCAtNzAuOTAzXSwgWzMxLjU4LCAxMzAuNjddLCBbMy4xNywgOTguMzkyMDAwMDAwMDAwMDFdLCBbLTM4LjEyLCAxNzYuNV0sIFszLjE3LCA5OC4zOTIwMDAwMDAwMDAwMV0sIFstNy45MywgMTEyLjMwNzk5OTk5OTk5OTk5XSwgWzM1LjksIDEzNy40OF0sIFsxOS40MjUsIC0xNTUuMjkyXSwgWzE0Ljk1LCAtMjQuMzVdLCBbMC44LCAxMjcuMzI1XSwgWzMuMTcsIDk4LjM5MjAwMDAwMDAwMDAxXSwgWy00MS4zMjYsIC03Mi42MTM5OTk5OTk5OTk5OV0sIFsyLjc4LCAxMjUuNDhdLCBbLTQuMSwgMTQ1LjA2MV0sIFszLjE3LCA5OC4zOTIwMDAwMDAwMDAwMV0sIFstMzguMTIsIDE3Ni41XSwgWzMuMTcsIDk4LjM5MjAwMDAwMDAwMDAxXSwgWzMuMTcsIDk4LjM5MjAwMDAwMDAwMDAxXSwgWzQ0LjQzLCAtMTEwLjY3XSwgWy04LjQyLCAxMTYuNDddLCBbMzIuODgsIDEzMS4xXSwgWzM3LjczNCwgMTUuMDA0MDAwMDAwMDAwMDAxXSwgWzMuMTcsIDk4LjM5MjAwMDAwMDAwMDAxXSwgWzE0LjQ3Mjk5OTk5OTk5OTk5OSwgLTkwLjg4XSwgWy03LjIsIDEwOS45Ml0sIFs0MC44MjcsIDE0LjEzOTAwMDAwMDAwMDAwMV0sIFstMTUuNCwgMTY3LjgzXSwgWy03LjU0MjAwMDAwMDAwMDAwMSwgMTEwLjQ0MjAwMDAwMDAwMDAxXSwgWzMuMTcsIDk4LjM5MjAwMDAwMDAwMDAxXSwgWy0zLjYyLCAxNDQuNjJdLCBbMTMuMjU3LCAxMjMuNjg1XSwgWzM2LjYyLCAxMzguNTVdLCBbMTkuNDI1LCAtMTU1LjI5Ml0sIFstMy42MiwgMTQ0LjYyXSwgWy04LjA1OCwgMTE0LjI0Ml0sIFsxOS40MjUsIC0xNTUuMjkyXSwgWy0xNS40LCAxNjcuODNdXSwKICAgICAgICAgICAgICAgIHsiYmx1ciI6IDE1LCAibWF4IjogMS4wLCAibWF4Wm9vbSI6IDE4LCAibWluT3BhY2l0eSI6IDAuNSwgInJhZGl1cyI6IDI1fQogICAgICAgICAgICApLmFkZFRvKG1hcF81ODVmMDYzODcyMTY0M2Q2YmI2NzIzMDAwNjA1MWNmNyk7CiAgICAgICAgCjwvc2NyaXB0Pg==\" style=\"position:absolute;width:100%;height:100%;left:0;top:0;border:none !important;\" allowfullscreen webkitallowfullscreen mozallowfullscreen></iframe></div></div>"
      ],
      "text/plain": [
       "<folium.folium.Map at 0x7f2528b04908>"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# In this example, with the hep of heat maps, we are able to perceive the density of volcanoes\n",
    "# which is more in some part of the world compared to others.\n",
    "\n",
    "from folium import plugins\n",
    "\n",
    "map = folium.Map(location = [15,30], tiles='Cartodb dark_matter', zoom_start = 2)\n",
    "\n",
    "heat_data = [[point.xy[1][0], point.xy[0][0]] for point in geo_df.geometry ]\n",
    "\n",
    "heat_data\n",
    "plugins.HeatMap(heat_data).add_to(map)\n",
    "\n",
    "map"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
